# $RCSfile: Makefile.SH,v $$Revision: 4.0.1.3 $$Date: 92/06/08 16:11:32 $
#
# $Log:	Makefile.SH,v $
# Revision 4.0.1.3  92/06/08  16:11:32  lwall
# patch20: SH files didn't work well with symbolic links
# patch20: cray didn't give enough memory to /bin/sh
# patch20: makefiles now display new shift/reduce expectations
# 
# Revision 4.0.1.2  91/11/05  19:19:04  lwall
# patch11: random cleanup
# 
# Revision 4.0.1.1  91/06/07  12:12:14  lwall
# patch4: cflags now emits entire cc command except for the filename
# 
# Revision 4.0  91/03/20  01:57:03  lwall
# 4.0 baseline.
# 
######
# Japanese Patch 'Alpha' 92/08/01 
#   modify for Borland Make
#
#                'Foxtrot' 96/06/15
#
CC = bcc
YACC = kmyacc
LK = tlink

!ifdef debug
LFLAGS = -v -c -P -m
# BCC 4.x
CFLAGS = -c -ml -Ff -v -w- -x- -RT- -DMSDOS -DKANJI -DGAWK
# BCC 3.x
#CFLAGS = -c -ml -Ff -v -w- -DMSDOS -DKANJI -DGAWK
!else
LFLAGS = -c -P -m
# BCC 4.x
CFLAGS = -c -ml -Ff -O1 -w- -x- -RT- -DMSDOS -DKANJI -DGAWK -DDEBUGGING
# BCC 3.x
#CFLAGS = -c -ml -Ff -O1 -w- -DMSDOS -DKANJI -DGAWK -DDEBUGGING
!endif

h = EXTERN.h INTERN.h config.h patchlev.h handy.h hash.h a2p.h str.h util.h
c = hash.c str.c util.c walk.c a2py.c
obj = hash.obj str.obj util.obj walk.obj
OBJS = a2p.obj $(obj)
SRC = $(h) $(c) a2p.y a2p.c makefile
MAN = artistic copying a2p.1 readme
MODULE = a2p
EXE = $(MODULE)j.exe
PACK = $(MODULE)j.lzh
MAP = $(EXE:.exe=.map)
#BCC 4.x
LIBS = noehl.lib mathl.lib emu.lib cl.lib obsolete.lib
#BCC 3.x
#LIBS = cl.lib mathl.lib emu.lib

.c.obj:
	$(CC) $(CFLAGS) $*.c

$(EXE): $(OBJS) 
	$(LK) @&&%
$(LFLAGS)+
c0l $(**)
$(EXE)
$(MAP)
$(LIBS)
%

a2p.c: a2p.y
	@echo Expect 231 shift/reduce conflicts...
	$(YACC) a2p.y
	@mv ytab.c a2p.c

pack :
	@mkdir a2p
	@cp -p @&&%
$(MAN)
$(SRC)
$(EXE)
a2p
%
	@lha a -rx $(PACK) a2p/*.* > NUL
	@rm -rf a2p > NUL

clean :
	-rm $(OBJS) $(PACK) $(MAP) > NUL

delbak :
	-rm *.bak > NUL

walk.obj: walk.c a2p.h
str.obj : str.c  a2p.h str.h
hash.obj: hash.c a2p.h hash.h
util.obj: util.c a2p.h util.h
a2p.obj : a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h handy.h config.h str.h hash.h
