ack/lang/m2/comp/Makefile

168 lines
6.2 KiB
Makefile
Raw Normal View History

1986-03-20 14:52:03 +00:00
# make modula-2 "compiler"
EMHOME = ../../..
MHDIR = $(EMHOME)/modules/h
PKGDIR = $(EMHOME)/modules/pkg
LIBDIR = $(EMHOME)/modules/lib
1986-11-05 14:33:00 +00:00
OBJECTCODE = $(LIBDIR)/libemk.a
LLGEN = $(EMHOME)/bin/LLgen
MKDEP = $(EMHOME)/bin/mkdep
PRID = $(EMHOME)/bin/prid
CID = $(EMHOME)/bin/cid
1986-11-26 16:40:45 +00:00
CURRDIR = .
1986-03-20 14:52:03 +00:00
INCLUDES = -I$(MHDIR) -I$(EMHOME)/h -I$(PKGDIR)
1986-04-03 17:41:26 +00:00
1986-10-06 20:36:30 +00:00
GFILES = tokenfile.g program.g declar.g expression.g statement.g
1986-08-26 14:33:24 +00:00
LLGENOPTIONS =
1986-09-25 19:39:06 +00:00
PROFILE =
1986-06-17 12:04:05 +00:00
CFLAGS = $(PROFILE) $(INCLUDES) -DSTATIC=
LINTFLAGS = -DSTATIC= -DNORCSID
MALLOC = $(LIBDIR)/malloc.o
1986-04-03 17:41:26 +00:00
LFLAGS = $(PROFILE)
1986-10-06 20:36:30 +00:00
LSRC = tokenfile.c program.c declar.c expression.c statement.c
1986-03-20 14:52:03 +00:00
LOBJ = tokenfile.o program.o declar.o expression.o statement.o
1986-10-06 20:36:30 +00:00
CSRC = LLlex.c LLmessage.c char.c error.c main.c \
symbol2str.c tokenname.c idf.c input.c type.c def.c \
scope.c misc.c enter.c defmodule.c typequiv.c node.c \
cstoper.c chk_expr.c options.c walk.c casestat.c desig.c \
1986-12-09 17:41:06 +00:00
code.c tmpvar.c lookup.c Version.c next.c
1986-03-20 14:52:03 +00:00
COBJ = LLlex.o LLmessage.o char.o error.o main.o \
1986-03-26 15:11:02 +00:00
symbol2str.o tokenname.o idf.o input.o type.o def.o \
1986-04-07 17:40:38 +00:00
scope.o misc.o enter.o defmodule.o typequiv.o node.o \
1986-05-23 09:46:31 +00:00
cstoper.o chk_expr.o options.o walk.o casestat.o desig.o \
1986-12-09 17:41:06 +00:00
code.o tmpvar.o lookup.o Version.o next.o
1986-10-06 20:36:30 +00:00
SRC = $(CSRC) $(LSRC) Lpars.c
1986-03-20 14:52:03 +00:00
OBJ = $(COBJ) $(LOBJ) Lpars.o
1986-08-26 14:33:24 +00:00
# Keep the next entries up to date!
1986-06-20 14:36:49 +00:00
GENCFILES= tokenfile.c \
program.c declar.c expression.c statement.c \
1986-12-09 17:41:06 +00:00
symbol2str.c char.c Lpars.c casestat.c tmpvar.c scope.c next.c
1986-06-20 14:36:49 +00:00
GENGFILES= tokenfile.g
GENHFILES= errout.h\
1986-11-05 14:33:00 +00:00
idfsize.h numsize.h strsize.h target_sizes.h \
1986-07-08 14:59:02 +00:00
inputtype.h maxset.h ndir.h density.h\
1986-11-05 14:33:00 +00:00
def.h debugcst.h type.h Lpars.h node.h
1986-08-26 14:33:24 +00:00
HFILES= LLlex.h\
1986-11-05 14:33:00 +00:00
chk_expr.h class.h const.h debug.h desig.h f_info.h idf.h\
1986-08-26 14:33:24 +00:00
input.h main.h misc.h scope.h standards.h tokenname.h\
1986-11-05 14:33:00 +00:00
walk.h warning.h $(GENHFILES)
1986-06-20 14:36:49 +00:00
#
GENFILES = $(GENGFILES) $(GENCFILES) $(GENHFILES)
1986-12-09 17:41:06 +00:00
NEXTFILES = def.H type.H node.H scope.C tmpvar.C casestat.C
1986-08-26 14:33:24 +00:00
1986-10-22 15:38:24 +00:00
#EXCLEXCLEXCLEXCL
1986-08-26 14:33:24 +00:00
all: Cfiles
1986-11-26 16:40:45 +00:00
sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make $(CURRDIR)/main ; else sh Resolve main ; fi'
1986-08-26 14:33:24 +00:00
@rm -f nmclash.o a.out
1986-10-22 15:38:24 +00:00
install: all
cp $(CURRDIR)/main $(EMHOME)/lib/em_m2
1986-10-22 15:38:24 +00:00
1986-08-26 14:33:24 +00:00
clean:
1986-11-26 16:40:45 +00:00
rm -f $(OBJ) $(GENFILES) LLfiles hfiles Cfiles tab clashes $(CURRDIR)/main
1986-08-26 14:33:24 +00:00
(cd .. ; rm -rf Xsrc)
lint: Cfiles
1986-10-06 20:36:30 +00:00
sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make Xlint ; else sh Resolve Xlint ; fi'
1986-08-26 14:33:24 +00:00
@rm -f nmclash.o a.out
longnames: $(SRC) $(HFILES)
sh -c 'if test -f longnames ; then $(PRID) -l7 longnames $? > Xlongnames ; mv Xlongnames longnames ; else $(PRID) -l7 $? > longnames ; fi'
1986-08-26 14:33:24 +00:00
# entry points not to be used directly
1986-11-05 14:33:00 +00:00
Cfiles: hfiles LLfiles $(GENCFILES) $(GENHFILES) Makefile
1986-10-06 20:36:30 +00:00
echo $(SRC) $(HFILES) > Cfiles
1986-03-20 14:52:03 +00:00
1986-10-06 20:36:30 +00:00
LLfiles: $(GFILES)
$(LLGEN) $(LLGENOPTIONS) $(GFILES)
1986-03-20 14:52:03 +00:00
@touch LLfiles
1986-04-17 09:28:09 +00:00
hfiles: Parameters make.hfiles
make.hfiles Parameters
touch hfiles
1986-03-20 14:52:03 +00:00
tokenfile.g: tokenname.c make.tokfile
make.tokfile <tokenname.c >tokenfile.g
1986-10-22 15:38:24 +00:00
symbol2str.c: tokenname.c make.tokcase
make.tokcase <tokenname.c >symbol2str.c
1986-08-26 14:33:24 +00:00
1986-12-09 17:41:06 +00:00
.SUFFIXES: .H .h
.H.h:
./make.allocd < $*.H > $*.h
1986-08-26 14:33:24 +00:00
1986-12-09 17:41:06 +00:00
.SUFFIXES: .C .c
.C.c:
./make.allocd < $*.C > $*.c
1986-03-20 14:52:03 +00:00
1986-12-09 17:41:06 +00:00
def.h: make.allocd
type.h: make.allocd
node.h: make.allocd
scope.c: make.allocd
tmpvar.c: make.allocd
casestat.c: make.allocd
1986-03-20 14:52:03 +00:00
1986-12-09 17:41:06 +00:00
next.c: $(NEXTFILES) ./make.next
./make.next $(NEXTFILES) > next.c
1986-08-26 14:33:24 +00:00
1986-10-22 15:38:24 +00:00
char.c: char.tab tab
tab -fchar.tab >char.c
1986-08-26 14:33:24 +00:00
1986-10-22 15:38:24 +00:00
tab:
$(CC) tab.c -o tab
1986-08-26 14:33:24 +00:00
1986-10-20 17:40:41 +00:00
depend:
1986-03-20 14:52:03 +00:00
sed '/^#AUTOAUTO/,$$d' Makefile > Makefile.new
echo '#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO' >> Makefile.new
$(MKDEP) $(SRC) |\
1986-03-20 14:52:03 +00:00
sed 's/\.c:/\.o:/' >> Makefile.new
mv Makefile Makefile.old
mv Makefile.new Makefile
1986-10-22 15:38:24 +00:00
#INCLINCLINCLINCL
Xlint:
lint $(INCLUDES) $(LINTFLAGS) $(SRC)
1986-11-26 16:40:45 +00:00
$(CURRDIR)/main: $(OBJ)
$(CC) $(LFLAGS) $(OBJ) $(LIBDIR)/libem_mes.a $(OBJECTCODE) $(LIBDIR)/libinput.a $(LIBDIR)/libassert.a $(LIBDIR)/liballoc.a $(MALLOC) $(LIBDIR)/libprint.a $(LIBDIR)/libstring.a $(LIBDIR)/libsystem.a -o $(CURRDIR)/main
size $(CURRDIR)/main
1986-10-22 15:38:24 +00:00
1986-03-20 14:52:03 +00:00
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
1986-11-05 14:33:00 +00:00
LLlex.o: LLlex.h Lpars.h class.h const.h debug.h debugcst.h f_info.h idf.h idfsize.h input.h inputtype.h numsize.h strsize.h type.h warning.h
1986-03-26 15:11:02 +00:00
LLmessage.o: LLlex.h Lpars.h idf.h
1986-03-20 14:52:03 +00:00
char.o: class.h
1986-11-05 14:33:00 +00:00
error.o: LLlex.h debug.h debugcst.h errout.h f_info.h input.h inputtype.h main.h node.h warning.h
main.o: LLlex.h Lpars.h debug.h debugcst.h def.h f_info.h idf.h input.h inputtype.h ndir.h node.h scope.h standards.h tokenname.h type.h warning.h
1986-03-20 14:52:03 +00:00
symbol2str.o: Lpars.h
tokenname.o: Lpars.h idf.h tokenname.h
idf.o: idf.h
1986-10-06 20:36:30 +00:00
input.o: def.h f_info.h idf.h input.h inputtype.h scope.h
1986-11-05 14:33:00 +00:00
type.o: LLlex.h const.h debug.h debugcst.h def.h idf.h maxset.h node.h scope.h target_sizes.h type.h walk.h
def.o: LLlex.h Lpars.h debug.h debugcst.h def.h idf.h main.h node.h scope.h type.h
scope.o: LLlex.h debug.h debugcst.h def.h idf.h node.h scope.h type.h
1986-04-08 18:15:46 +00:00
misc.o: LLlex.h f_info.h idf.h misc.h node.h
1986-12-01 10:06:53 +00:00
enter.o: LLlex.h debug.h debugcst.h def.h idf.h main.h misc.h node.h scope.h type.h
defmodule.o: LLlex.h Lpars.h debug.h debugcst.h def.h f_info.h idf.h input.h inputtype.h main.h misc.h node.h scope.h type.h
1986-11-05 14:33:00 +00:00
typequiv.o: LLlex.h debug.h debugcst.h def.h node.h type.h warning.h
node.o: LLlex.h debug.h debugcst.h def.h node.h type.h
cstoper.o: LLlex.h Lpars.h debug.h debugcst.h idf.h node.h standards.h target_sizes.h type.h warning.h
chk_expr.o: LLlex.h Lpars.h chk_expr.h const.h debug.h debugcst.h def.h idf.h misc.h node.h scope.h standards.h type.h warning.h
options.o: idfsize.h main.h ndir.h type.h warning.h
walk.o: LLlex.h Lpars.h chk_expr.h debug.h debugcst.h def.h desig.h f_info.h idf.h main.h node.h scope.h type.h walk.h warning.h
casestat.o: LLlex.h Lpars.h debug.h debugcst.h density.h desig.h node.h type.h walk.h
desig.o: LLlex.h debug.h debugcst.h def.h desig.h node.h scope.h type.h
code.o: LLlex.h Lpars.h debug.h debugcst.h def.h desig.h node.h scope.h standards.h type.h walk.h
tmpvar.o: debug.h debugcst.h def.h main.h scope.h type.h
lookup.o: LLlex.h debug.h debugcst.h def.h idf.h misc.h node.h scope.h type.h
1986-12-09 17:41:06 +00:00
next.o: debug.h debugcst.h
1986-03-20 14:52:03 +00:00
tokenfile.o: Lpars.h
1986-11-05 14:33:00 +00:00
program.o: LLlex.h Lpars.h debug.h debugcst.h def.h f_info.h idf.h main.h node.h scope.h type.h warning.h
declar.o: LLlex.h Lpars.h chk_expr.h debug.h debugcst.h def.h idf.h main.h misc.h node.h scope.h type.h warning.h
expression.o: LLlex.h Lpars.h chk_expr.h const.h debug.h debugcst.h def.h idf.h node.h type.h warning.h
1986-04-22 22:36:16 +00:00
statement.o: LLlex.h Lpars.h def.h idf.h node.h scope.h type.h
1986-03-20 14:52:03 +00:00
Lpars.o: Lpars.h