162 lines
3.4 KiB
Makefile
162 lines
3.4 KiB
Makefile
ROOT= /z/LCC
|
|
|
|
LIBDIR= $(ROOT)/lib
|
|
MOD= 751
|
|
OWN= wega
|
|
GRP= system
|
|
SHELL= /bin/sh
|
|
|
|
COMMON= ../common
|
|
|
|
|
|
CC= lcc
|
|
LINT= lint
|
|
YACC= yacc
|
|
LFLAGS=
|
|
CFLAGS= -O
|
|
INCLIST= -I. -I$(COMMON)
|
|
#
|
|
# conditional compilation variables are declared
|
|
# in the DEFLIST and are passed to cpp.
|
|
#
|
|
# variables:
|
|
# PROFILE - causes inclusion of profiling code -
|
|
# conditional compilation can be removed if desired.
|
|
#
|
|
|
|
DEFLIST=
|
|
LDFLAGS=
|
|
YFLAGS=
|
|
|
|
CC_CMD= $(CC) -c $(CFLAGS) $(INCLIST)
|
|
YACC_CMD= $(YACC) $(YFLAGS)
|
|
|
|
# use M as a short-hand for the awkward COMMON
|
|
# (M for Machine independent part)
|
|
|
|
M= $(COMMON)
|
|
|
|
|
|
OFILES= cgram.o xdefs.o scan.o pftn.o trees.o optim.o local.o reader.o\
|
|
local2.o debug.o match.o allo.o comm1.o table.o cost.o cgen.o
|
|
CFILES= $M/cgram.c $M/xdefs.c $M/scan.c $M/pftn.c $M/cgen.c $M/cost.c \
|
|
$M/trees.c $M/optim.c local.c $M/reader.c \
|
|
local2.c debug.c $M/match.c $M/allo.c $M/comm1.c \
|
|
table.c
|
|
|
|
build: ccom
|
|
|
|
#-------------------------
|
|
|
|
ccom: $(OFILES)
|
|
$(CC) $(LDFLAGS) -o ccom $(OFILES)
|
|
chmog $(MOD) $(OWN) $(GRP) ccom
|
|
|
|
sty.c: $M/manifest.h $M/sty.y macdefs.h $M/mfile2.h $M/common
|
|
@echo "Expect 3 reduce/reduce conflicts"
|
|
$(YACC_CMD) $M/sty.y
|
|
mv y.tab.c sty.c
|
|
|
|
sty: sty.c
|
|
#
|
|
# always use the resident compiler to generate sty.
|
|
# whether generating a cross-compiler or a resident
|
|
# on a non-target machine.
|
|
#
|
|
lcc -O -I. -I$M -o sty sty.c
|
|
|
|
trees.o: $M/manifest.h macdefs.h $M/mfile1.h sdb.h $M/trees.c
|
|
$(CC_CMD) $M/trees.c
|
|
|
|
optim.o: $M/manifest.h macdefs.h $M/mfile1.h sdb.h $M/optim.c
|
|
$(CC_CMD) $M/optim.c
|
|
|
|
pftn.o: $M/manifest.h macdefs.h $M/mfile1.h sdb.h $M/pftn.c
|
|
$(CC_CMD) $M/pftn.c
|
|
|
|
local.o: $M/manifest.h macdefs.h $M/mfile1.h sdb.h
|
|
$(CC_CMD) local.c
|
|
|
|
scan.o: $M/manifest.h macdefs.h $M/mfile1.h sdb.h $M/scan.c
|
|
$(CC_CMD) $M/scan.c
|
|
|
|
xdefs.o: $M/manifest.h $M/mfile1.h sdb.h macdefs.h $M/xdefs.c
|
|
$(CC_CMD) $M/xdefs.c
|
|
|
|
cgram.o: $M/manifest.h $M/mfile1.h sdb.h macdefs.h $M/cgram.c
|
|
$(CC_CMD) $M/cgram.c
|
|
|
|
$M/cgram.c: $M/cgram.y
|
|
@echo "Expect 6 shift/reduce conflicts"
|
|
$(YACC_CMD) $M/cgram.y
|
|
mv y.tab.c $M/cgram.c
|
|
|
|
comm1.o: $M/manifest.h $M/mfile1.h sdb.h $M/common macdefs.h \
|
|
$M/comm1.c
|
|
$(CC_CMD) $M/comm1.c
|
|
|
|
table.o: $M/manifest.h $M/mfile2.h macdefs.h table.c
|
|
$(CC_CMD) table.c
|
|
|
|
table.c: sty stin
|
|
./sty <stin >table.c
|
|
|
|
cost.o: $M/manifest.h $M/mfile2.h macdefs.h $M/cost.c
|
|
$(CC_CMD) $M/cost.c
|
|
|
|
cgen.o: $M/manifest.h $M/mfile2.h macdefs.h $M/cgen.c
|
|
$(CC_CMD) $M/cgen.c
|
|
|
|
reader.o: $M/manifest.h $M/mfile2.h macdefs.h $M/reader.c
|
|
$(CC_CMD) $M/reader.c
|
|
|
|
local2.o: $M/manifest.h $M/mfile2.h macdefs.h
|
|
$(CC_CMD) local2.c
|
|
|
|
debug.o: $M/mfile1.h macdefs.h $(ROOT)/include/storclass.h
|
|
$(CC_CMD) debug.c
|
|
|
|
match.o: $M/manifest.h $M/mfile2.h macdefs.h $M/match.c sdb.h
|
|
$(CC_CMD) $M/match.c
|
|
|
|
allo.o: $M/manifest.h $M/mfile2.h macdefs.h $M/allo.c
|
|
$(CC_CMD) $M/allo.c
|
|
|
|
#-------------------------
|
|
|
|
install: ccom save
|
|
cp ccom $(LIBDIR)
|
|
# strip $(LIBDIR)/ccom
|
|
chmog $(MOD) $(OWN) $(GRP) $(LIBDIR)/ccom
|
|
|
|
#--------------------------
|
|
|
|
save:
|
|
if test -f $(LIBDIR)/ccom ; \
|
|
then \
|
|
mv $(LIBDIR)/ccom $(LIBDIR)/ccom.back ; \
|
|
fi ;
|
|
|
|
#--------------------------
|
|
|
|
uninstall:
|
|
if test -f $(LIBDIR)/ccom.back ; \
|
|
then \
|
|
mv $(LIBDIR)/ccom.back $(LIBDIR)/ccom ; \
|
|
fi ;
|
|
|
|
#--------------------------
|
|
|
|
clean:
|
|
-rm -f $(OFILES)
|
|
|
|
#--------------------------
|
|
|
|
clobber: clean
|
|
-rm -f ccom table.c sty.c sty $M/cgram.c
|
|
|
|
#--------------------------
|
|
|
|
lint: $(CFILES)
|
|
$(LINT) $(LFLAGS) -I. -I$M $(CFILES) >lint.out
|