MACHINE = sunos4
CDEFS = #-DPD #-DDEBUG
CFLAGS = -I../lib -I../regexp $(CDEFS) -D$(MACHINE) -O
LDFLAGS = 
PROGS = cbascii cbcheck cbepd cbfbk cblist cbmerge cbsort 
# CBKEY flags
CBKOBJS = cbkey.o kparse.o kscan.o kcompile.o ktests.o
CBKLIBS = ../lib/libcb.a ../regexp/libregexp.a
# CBASCII flags
CBAOBJS = cbascii.o aexport.o aimport.o ascan.o nag.o
CBALIBS = ../lib/libcb.a
LIBS = ../lib/libcb.a
HDRS = ../lib/global.h ../lib/machine.h ../lib/cb.h ../lib/extern.h
INSTDIR = $$HOME/bin
.SUFFIXES: .y .l

.y.c:
	bison -dy $<
	rm -f $*.c $*.h
	-mv y.tab.c $*.c
	-mv y.tab.h $*.h

.l.c:
	flex $<
	rm -f $*.c
	-mv lex.yy.c $*.c

all:	$(PROGS)

cbascii:	$(CBAOBJS) $(CBALIBS)
	$(CC) $(LDFLAGS) -o cbascii $(CBAOBJS) $(CBALIBS)

cbcheck:	cbcheck.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbcheck cbcheck.o $(LIBS)

cbdump:	cbdump.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbdump cbdump.o $(LIBS)

cbepd:	cbepd.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbepd cbepd.o $(LIBS)
	
cbfbk:	cbfbk.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbfbk cbfbk.o $(LIBS)

cbgen:	cbgen.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbgen cbgen.o $(LIBS)

cbkey: 	$(CBKOBJS) $(CBKLIBS)
	$(CC) $(LDFLAGS) -o cbkey $(CBKOBJS) $(CBKLIBS)

cblist:	cblist.o $(LIBS)
	$(CC) $(LDFLAGS) -o cblist cblist.o $(LIBS)

cbmerge:	cbmerge.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbmerge cbmerge.o $(LIBS)

cbsort:	cbsort.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbsort cbsort.o $(LIBS)

cbsplit:	cbsplit.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbsplit cbsplit.o $(LIBS)

cbtidy:	cbtidy.o $(LIBS)
	$(CC) $(LDFLAGS) -o cbtidy cbtidy.o $(LIBS)

ckdump:	ckdump.o $(LIBS)
	$(CC) $(LDFLAGS) -o ckdump ckdump.o $(LIBS)

install:	$(PROGS)
	cp $(PROGS) $(INSTDIR)

clean:
	rm -f $(PROGS) *.o out *.out err *.err

kclean:
	rm -f kparse.c kparse.h kscan.c

aclean:
	rm -f ascan.c

backup:
	cp makefile mkfiles/$(MACHINE)

aexport.o:	$(HDRS) aexport.h aimport.h cbascii.h nag.h
aimport.o:	$(HDRS) aimport.h ascan.h cbascii.h nag.h
ascan.o:	$(HDRS) ascan.h
ascan.c:	ascan.l
nag.o:		$(HDRS) nag.h
cbascii.o:	$(HDRS) aexport.h cbascii.h
cbcheck.o:	$(HDRS)
cbdump.o:	$(HDRS)
cbgen.o:	$(HDRS)
cbkey.o:	$(HDRS) kcompile.h
kparse.o:	$(HDRS) kcompile.h
kparse.c:	kparse.y
kparse.h:	kparse.y
kscan.o:	$(HDRS) kparse.h kcompile.h
kscan.c:	kscan.l
kcompile.o:	$(HDRS) kcompile.h ../regexp/regexp.h
ktest.o:	$(HDRS) kcompile.h ../regexp/regexp.h
cblist.o:	$(HDRS)
cbmerge.o:	$(HDRS)
cbsort.o:	$(HDRS)
ckdump.o:	$(HDRS)

