123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- # make iso-pascal "compiler"
- EMHOME = ../../..
- MHDIR = $(EMHOME)/modules/h
- PKGDIR = $(EMHOME)/modules/pkg
- LIBDIR = $(EMHOME)/modules/lib
- OBJECTCODE = $(LIBDIR)/libemk.a $(EMHOME)/lib/em_data.a
- LLGEN = $(EMHOME)/bin/LLgen
- MKDEP = $(EMHOME)/bin/mkdep
- CURRDIR = .
- CC = fcc
- PRINTER = vu45
- INCLUDES = -I$(MHDIR) -I$(EMHOME)/h -I$(PKGDIR)
- GFILES = tokenfile.g declar.g expression.g program.g statement.g
- LLGENOPTIONS =
- PROFILE =
- CFLAGS = $(PROFILE) $(INCLUDES) -DSTATIC=
- LINTFLAGS = -DSTATIC=
- MALLOC = $(LIBDIR)/malloc.o
- LFLAGS = $(PROFILE)
- LSRC = declar.c expression.c program.c statement.c tokenfile.c
- LOBJ = declar.o expression.o program.o statement.o tokenfile.o
- CSRC = LLlex.c LLmessage.c body.c chk_expr.c code.c\
- cstoper.c def.c desig.c enter.c error.c idf.c input.c label.c\
- lookup.c main.c misc.c node.c options.c readwrite.c\
- scope.c symbol2str.c tokenname.c type.c typequiv.c progs.c
- COBJ = LLlex.o LLmessage.o body.o casestat.o char.o chk_expr.o code.o\
- cstoper.o def.o desig.o enter.o error.o idf.o input.o label.o\
- lookup.o main.o misc.o next.o node.o options.o readwrite.o\
- scope.o symbol2str.o tmpvar.o tokenname.o type.o typequiv.o progs.o
- OBJ = Lpars.o $(COBJ) $(LOBJ)
- # Keep the next entries up to date!
- GENCFILES= Lpars.c declar.c expression.c program.c statement.c\
- tokenfile.c symbol2str.c casestat.c tmpvar.c char.c next.c
- SRC = Lpars.c $(CSRC) $(GENCFILES)
- GENGFILES= tokenfile.g
- GENHFILES= Lpars.h debugcst.h density.h errout.h idfsize.h inputtype.h\
- numsize.h strsize.h def.h type.h desig.h scope.h node.h\
- target_sizes.h
- HFILES= LLlex.h chk_expr.h class.h const.h debug.h def.h desig.h\
- f_info.h idf.h input.h main.h misc.h node.h required.h scope.h\
- tokenname.h type.h $(GENHFILES)
- #
- GENFILES = $(GENGFILES) $(GENCFILES) $(GENHFILES)
- NEXTFILES = def.H desig.H node.H scope.H type.H casestat.C tmpvar.C
- #EXCLEXCLEXCLEXCL
- all: Cfiles
- make $(CURRDIR)/main
- clean:
- rm -f *.o main $(GENFILES) hfiles Cfiles LLfiles
- # entry points not to be used directly
- Cfiles: hfiles LLfiles $(GENCFILES) $(GENHFILES) Makefile
- echo $(SRC) $(HFILES) > Cfiles
- LLfiles: $(GFILES)
- $(LLGEN) $(LLGENOPTIONS) $(GFILES)
- @touch LLfiles
- hfiles: Parameters make.hfiles
- make.hfiles Parameters
- touch hfiles
- lint: Cfiles
- lint $(INCLUDES) $(LINTFLAGS) $(SRC)
- tokenfile.g: tokenname.c make.tokfile
- make.tokfile < tokenname.c > tokenfile.g
- symbol2str.c: tokenname.c make.tokcase
- make.tokcase < tokenname.c > symbol2str.c
- .SUFFIXES: .H .h
- .H.h:
- ./make.allocd < $*.H > $*.h
- .SUFFIXES: .C .c
- .C.c:
- ./make.allocd < $*.C > $*.c
- def.h: make.allocd
- type.h: make.allocd
- node.h: make.allocd
- scope.h: make.allocd
- desig.h: make.allocd
- casestat.c: make.allocd
- tmpvar.c: make.allocd
- next.c: $(NEXTFILES) ./make.next
- ./make.next $(NEXTFILES) > next.c
- char.c: char.tab
- $(EMHOME)/bin/tabgen -fchar.tab > char.c
- depend:
- sed '/^#AUTOAUTO/,$$d' Makefile > Makefile.new
- echo '#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO' >> Makefile.new
- $(MKDEP) $(SRC) |\
- sed 's/\.c:/\.o:/' >> Makefile.new
- mv Makefile Makefile.old
- mv Makefile.new Makefile
- print: $(CSRC) $(GFILES) $(HFILES) # print recently changed files
- pr -t $? | rpr $(PRINTER)
- @touch print
- xref:
- ctags -x $(CSRC) $(HFILES) | sed "s/).*/)/">Xref
- #INCLINCLINCLINCL
- $(CURRDIR)/main: $(OBJ)
- -mv main main.old
- $(CC) $(LFLAGS) $(OBJ) $(LIBDIR)/libem_mes.a $(OBJECTCODE) $(LIBDIR)/libinput.a $(LIBDIR)/liballoc.a $(MALLOC) $(LIBDIR)/libassert.a $(LIBDIR)/libprint.a $(LIBDIR)/libstring.a $(LIBDIR)/libsystem.a -o $(CURRDIR)/main
- size $(CURRDIR)/main.old
- size $(CURRDIR)/main
- #AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
- Lpars.o: Lpars.h
- LLlex.o: LLlex.h
- LLlex.o: Lpars.h
- LLlex.o: class.h
- LLlex.o: const.h
- LLlex.o: debug.h
- LLlex.o: debugcst.h
- LLlex.o: f_info.h
- LLlex.o: idf.h
- LLlex.o: idfsize.h
- LLlex.o: input.h
- LLlex.o: inputtype.h
- LLlex.o: main.h
- LLlex.o: numsize.h
- LLlex.o: strsize.h
- LLlex.o: type.h
- LLmessage.o: LLlex.h
- LLmessage.o: Lpars.h
- LLmessage.o: idf.h
- LLmessage.o: type.h
- body.o: LLlex.h
- body.o: chk_expr.h
- body.o: debug.h
- body.o: debugcst.h
- body.o: def.h
- body.o: desig.h
- body.o: idf.h
- body.o: main.h
- body.o: node.h
- body.o: scope.h
- body.o: type.h
- casestat.o: LLlex.h
- casestat.o: Lpars.h
- casestat.o: chk_expr.h
- casestat.o: debug.h
- casestat.o: debugcst.h
- casestat.o: density.h
- casestat.o: main.h
- casestat.o: node.h
- casestat.o: type.h
- char.o: class.h
- chk_expr.o: LLlex.h
- chk_expr.o: Lpars.h
- chk_expr.o: chk_expr.h
- chk_expr.o: const.h
- chk_expr.o: debug.h
- chk_expr.o: debugcst.h
- chk_expr.o: def.h
- chk_expr.o: idf.h
- chk_expr.o: main.h
- chk_expr.o: misc.h
- chk_expr.o: node.h
- chk_expr.o: required.h
- chk_expr.o: scope.h
- chk_expr.o: type.h
- code.o: LLlex.h
- code.o: Lpars.h
- code.o: debug.h
- code.o: debugcst.h
- code.o: def.h
- code.o: desig.h
- code.o: main.h
- code.o: node.h
- code.o: required.h
- code.o: scope.h
- code.o: type.h
- cstoper.o: LLlex.h
- cstoper.o: Lpars.h
- cstoper.o: const.h
- cstoper.o: debug.h
- cstoper.o: debugcst.h
- cstoper.o: node.h
- cstoper.o: required.h
- cstoper.o: target_sizes.h
- cstoper.o: type.h
- def.o: LLlex.h
- def.o: debug.h
- def.o: debugcst.h
- def.o: def.h
- def.o: idf.h
- def.o: main.h
- def.o: misc.h
- def.o: node.h
- def.o: scope.h
- def.o: type.h
- desig.o: LLlex.h
- desig.o: debug.h
- desig.o: debugcst.h
- desig.o: def.h
- desig.o: desig.h
- desig.o: main.h
- desig.o: node.h
- desig.o: scope.h
- desig.o: type.h
- enter.o: LLlex.h
- enter.o: def.h
- enter.o: idf.h
- enter.o: main.h
- enter.o: node.h
- enter.o: scope.h
- enter.o: type.h
- error.o: LLlex.h
- error.o: debug.h
- error.o: debugcst.h
- error.o: errout.h
- error.o: f_info.h
- error.o: input.h
- error.o: inputtype.h
- error.o: main.h
- error.o: node.h
- idf.o: idf.h
- input.o: f_info.h
- input.o: idf.h
- input.o: input.h
- input.o: inputtype.h
- label.o: LLlex.h
- label.o: def.h
- label.o: idf.h
- label.o: main.h
- label.o: node.h
- label.o: scope.h
- label.o: type.h
- lookup.o: LLlex.h
- lookup.o: def.h
- lookup.o: idf.h
- lookup.o: misc.h
- lookup.o: node.h
- lookup.o: scope.h
- lookup.o: type.h
- main.o: LLlex.h
- main.o: Lpars.h
- main.o: const.h
- main.o: debug.h
- main.o: debugcst.h
- main.o: def.h
- main.o: f_info.h
- main.o: idf.h
- main.o: input.h
- main.o: inputtype.h
- main.o: main.h
- main.o: node.h
- main.o: required.h
- main.o: tokenname.h
- main.o: type.h
- misc.o: LLlex.h
- misc.o: f_info.h
- misc.o: idf.h
- misc.o: main.h
- misc.o: misc.h
- misc.o: node.h
- next.o: debug.h
- next.o: debugcst.h
- node.o: LLlex.h
- node.o: debug.h
- node.o: debugcst.h
- node.o: node.h
- node.o: type.h
- options.o: class.h
- options.o: const.h
- options.o: idfsize.h
- options.o: main.h
- options.o: type.h
- readwrite.o: LLlex.h
- readwrite.o: debug.h
- readwrite.o: debugcst.h
- readwrite.o: def.h
- readwrite.o: main.h
- readwrite.o: node.h
- readwrite.o: scope.h
- readwrite.o: type.h
- scope.o: LLlex.h
- scope.o: debug.h
- scope.o: debugcst.h
- scope.o: def.h
- scope.o: idf.h
- scope.o: misc.h
- scope.o: node.h
- scope.o: scope.h
- scope.o: type.h
- symbol2str.o: Lpars.h
- tmpvar.o: debug.h
- tmpvar.o: debugcst.h
- tmpvar.o: def.h
- tmpvar.o: main.h
- tmpvar.o: scope.h
- tmpvar.o: type.h
- tokenname.o: Lpars.h
- tokenname.o: idf.h
- tokenname.o: tokenname.h
- type.o: LLlex.h
- type.o: const.h
- type.o: debug.h
- type.o: debugcst.h
- type.o: def.h
- type.o: idf.h
- type.o: main.h
- type.o: node.h
- type.o: scope.h
- type.o: target_sizes.h
- type.o: type.h
- typequiv.o: LLlex.h
- typequiv.o: debug.h
- typequiv.o: debugcst.h
- typequiv.o: def.h
- typequiv.o: node.h
- typequiv.o: type.h
- progs.o: LLlex.h
- progs.o: debug.h
- progs.o: debugcst.h
- progs.o: def.h
- progs.o: main.h
- progs.o: scope.h
- progs.o: type.h
- declar.o: LLlex.h
- declar.o: Lpars.h
- declar.o: chk_expr.h
- declar.o: def.h
- declar.o: idf.h
- declar.o: main.h
- declar.o: misc.h
- declar.o: node.h
- declar.o: scope.h
- declar.o: type.h
- expression.o: LLlex.h
- expression.o: Lpars.h
- expression.o: chk_expr.h
- expression.o: debug.h
- expression.o: debugcst.h
- expression.o: def.h
- expression.o: main.h
- expression.o: node.h
- expression.o: scope.h
- expression.o: type.h
- program.o: LLlex.h
- program.o: Lpars.h
- program.o: def.h
- program.o: main.h
- program.o: node.h
- program.o: scope.h
- statement.o: LLlex.h
- statement.o: Lpars.h
- statement.o: chk_expr.h
- statement.o: def.h
- statement.o: desig.h
- statement.o: idf.h
- statement.o: main.h
- statement.o: node.h
- statement.o: scope.h
- statement.o: type.h
- tokenfile.o: Lpars.h
|