# # Makefile for DGD, Dworkin's Generic Driver # HOST=LINUX DEFINES=-D$(HOST) #-DDUMP_FUNCS DEBUG= -g -DDEBUG CCFLAGS=$(DEFINES) $(DEBUG) CFLAGS= -I. -Icomp -Ilex -Ied -Iparser -Ikfun $(CCFLAGS) LDFLAGS= LIBS= CC= gcc LD= $(CC) DMAKE= make BIN= ../bin OBJ= alloc.o error.o hash.o swap.o str.o array.o object.o data.o path.o \ editor.o comm.net.o call_out.o interpret.o config.o dgd.o EDOBJ= alloc.o error.o LEXOBJ= alloc.o hash.o COMPOBJ=alloc.o error.o hash.o path.o str.o array.o object.o data.o \ interpret.o config.o a.out: $(OBJ) always cd comp; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd cd lex; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd cd ed; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd cd parser; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd cd kfun; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd cd lpc; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' \ 'LIBS=$(LIBS)' dgd cd host; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd $(LD) $(DEBUG) $(LDFLAGS) -o $@ $(OBJ) `cat comp/dgd` `cat lex/dgd` \ `cat ed/dgd` `cat parser/dgd` `cat kfun/dgd` `cat lpc/dgd` \ `cat host/dgd` $(LIBS) always: @rm -f a.out $(BIN)/driver: a.out -mv $(BIN)/driver $(BIN)/driver.old cp a.out $(BIN)/driver install: $(BIN)/driver comp.sub: $(COMPOBJ) @for i in $(COMPOBJ); do echo ../$$i; done > comp.sub lex.sub: $(LEXOBJ) @for i in $(LEXOBJ); do echo ../$$i; done > lex.sub ed.sub: $(EDOBJ) @for i in $(EDOBJ); do echo ../$$i; done > ed.sub comp/parser.h: comp/parser.y cd comp; $(DMAKE) parser.h comp/a.out: cd comp; $(DMAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' \ 'LIBS=$(LIBS)' a.out clean: rm -f a.out $(OBJ) comp.sub lex.sub ed.sub cd comp; $(DMAKE) clean cd lex; $(DMAKE) clean cd ed; $(DMAKE) clean cd parser; $(DMAKE) clean cd kfun; $(DMAKE) clean cd lpc; $(DMAKE) clean cd host; $(DMAKE) clean path.o config.o dgd.o: comp/node.h comp/compile.h config.o data.o interpret.o: comp/csupport.h config.o: comp/parser.h interpret.o: comp/control.h config.o: lex/macro.h lex/token.h lex/ppcontrol.h editor.o: ed/edcmd.h data.o: parser/parse.h interpret.o: kfun/table.h $(OBJ): dgd.h config.h host.h alloc.h error.h error.o str.o array.o object.o data.o path.o comm.net.o: str.h array.h object.h editor.o call_out.o interpret.o config.o dgd.o: str.h array.h object.h array.o interpret.o path.o config.o dgd.o: xfloat.h error.o array.o object.o data.o path.o editor.o comm.net.o call_out.o: interpret.h interpret.o config.o dgd.o: interpret.h str.o array.o object.o data.o path.o comm.net.o call_out.o interpret.o: data.h config.o dgd.o: data.h path.o config.o: path.h hash.o str.o: hash.h swap.o object.o data.o: swap.h editor.o config.o dgd.o: editor.h call_out.o config.o dgd.o: call_out.h error.o comm.o call_out.o config.o dgd.o: comm.h config.o: version.h