229 lines
4.7 KiB
Makefile
229 lines
4.7 KiB
Makefile
# $Header$
|
|
|
|
EMHOME=../..
|
|
CFILES=main.c getline.c lookup.c var.c process.c backward.c util.c \
|
|
alloc.c putline.c cleanup.c peephole.c flow.c reg.c tes.c \
|
|
pop_push.c
|
|
|
|
OFILES=main.o getline.o lookup.o var.o process.o backward.o util.o\
|
|
alloc.o putline.o cleanup.o peephole.o flow.o tes.o pop_push.o
|
|
ONOGLOB=regnoglob.o
|
|
OGLOB=regglob.o
|
|
LIBS=$(EMHOME)/lib/em_data.a
|
|
CFLAGS=-O -DNDEBUG -I$(EMHOME)/h
|
|
LDFLAGS=
|
|
LINT=lint
|
|
OPR=opr
|
|
PROPTS=
|
|
CPP=$(EMHOME)/lib/cpp
|
|
# LEXLIB is implementation dependent, try -ll or -lln first
|
|
LEXLIB=-ll
|
|
|
|
all: opt opt2
|
|
|
|
opt: $(OFILES) $(ONOGLOB) pattern.o $(LIBS)
|
|
$(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(ONOGLOB) pattern.o $(LIBS) -o opt
|
|
|
|
opt2: $(OFILES) $(OGLOB) pattern.o $(LIBS)
|
|
$(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(OGLOB) pattern.o $(LIBS) -o opt2
|
|
|
|
test: opt testopt
|
|
testopt
|
|
|
|
cmp: all
|
|
-cmp opt $(EMHOME)/lib/em_opt
|
|
-cmp opt2 $(EMHOME)/lib/em_opt2
|
|
-cmp em_opt.6 $(EMHOME)/man/em_opt.6
|
|
|
|
install:all
|
|
-size opt $(EMHOME)/lib/em_opt
|
|
rm -f $(EMHOME)/lib/em_opt
|
|
cp opt $(EMHOME)/lib/em_opt
|
|
-size opt2 $(EMHOME)/lib/em_opt2
|
|
rm -f $(EMHOME)/lib/em_opt2
|
|
cp opt2 $(EMHOME)/lib/em_opt2
|
|
rm -f $(EMHOME)/man/em_opt.6
|
|
cp em_opt.6 $(EMHOME)/man/em_opt.6
|
|
|
|
pattern.c: patterns mktab
|
|
$(CPP) patterns | mktab > pattern.c
|
|
|
|
mktab: mktab.o $(LIBS)
|
|
$(CC) $(CFLAGS) mktab.o $(LIBS) $(LEXLIB) -o mktab
|
|
|
|
mktab.o: scan.c optim.h param.h pattern.h types.h
|
|
|
|
pop_push.c pop_push.h: $(EMHOME)/etc/em_table pop_push.awk
|
|
awk -f pop_push.awk < $(EMHOME)/etc/em_table > pop_push.c
|
|
|
|
depend: pattern.c
|
|
sed '/^#AUTOAUTO/,$$d' Makefile >Makefile.new
|
|
echo '#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO' >> Makefile.new
|
|
cp reg.c regglob.c
|
|
cp reg.c regnoglob.c
|
|
mkdep $(CFILES) pattern.c regglob.c regnoglob.c | sed 's/\.c:/.o:/' >> Makefile.new
|
|
rm -f regglob.c regnoglob.c
|
|
mv Makefile Makefile.old
|
|
mv Makefile.new Makefile
|
|
|
|
lint: $(CFILES) pattern.c
|
|
$(LINT) $(CFLAGS) $(CFILES) pattern.c>lint 2>&1
|
|
|
|
printall:
|
|
-pr $(PROPTS) Makefile -n *.h `ls $(CFILES)` mktab.y scan.l patterns|$(OPR)
|
|
touch print
|
|
|
|
print: Makefile *.h $(CFILES) mktab.y scan.l patterns
|
|
-pr $(PROPTS) -n $? | $(OPR)
|
|
touch print
|
|
|
|
opr:
|
|
make pr | $(OPR)
|
|
|
|
pr:
|
|
@pr $(PROPTS) -n Makefile *.h $(CFILES) mktab.y scan.l patterns
|
|
|
|
clean:
|
|
rm -f *.o opt mktab mktab.c scan.c pattern.c opt2 Out \
|
|
pop_push.c pop_push.h
|
|
|
|
regnoglob.o: reg.c
|
|
$(CC) $(CFLAGS) -c reg.c
|
|
mv reg.o regnoglob.o
|
|
|
|
regglob.o: reg.c
|
|
$(CC) $(CFLAGS) -c -DGLOBAL_OPT reg.c
|
|
mv reg.o regglob.o
|
|
|
|
# the next lines are generated automatically
|
|
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
|
|
main.o: alloc.h
|
|
main.o: ext.h
|
|
main.o: param.h
|
|
main.o: tes.h
|
|
main.o: types.h
|
|
getline.o: alloc.h
|
|
getline.o: ext.h
|
|
getline.o: line.h
|
|
getline.o: lookup.h
|
|
getline.o: param.h
|
|
getline.o: proinf.h
|
|
getline.o: tes.h
|
|
getline.o: types.h
|
|
lookup.o: alloc.h
|
|
lookup.o: lookup.h
|
|
lookup.o: param.h
|
|
lookup.o: proinf.h
|
|
lookup.o: tes.h
|
|
lookup.o: types.h
|
|
var.o: lookup.h
|
|
var.o: param.h
|
|
var.o: proinf.h
|
|
var.o: tes.h
|
|
var.o: types.h
|
|
process.o: alloc.h
|
|
process.o: assert.h
|
|
process.o: ext.h
|
|
process.o: line.h
|
|
process.o: lookup.h
|
|
process.o: param.h
|
|
process.o: proinf.h
|
|
process.o: tes.h
|
|
process.o: types.h
|
|
backward.o: alloc.h
|
|
backward.o: assert.h
|
|
backward.o: ext.h
|
|
backward.o: line.h
|
|
backward.o: lookup.h
|
|
backward.o: param.h
|
|
backward.o: proinf.h
|
|
backward.o: tes.h
|
|
backward.o: types.h
|
|
util.o: assert.h
|
|
util.o: ext.h
|
|
util.o: lookup.h
|
|
util.o: optim.h
|
|
util.o: param.h
|
|
util.o: proinf.h
|
|
util.o: tes.h
|
|
util.o: types.h
|
|
alloc.o: alloc.h
|
|
alloc.o: assert.h
|
|
alloc.o: line.h
|
|
alloc.o: lookup.h
|
|
alloc.o: param.h
|
|
alloc.o: proinf.h
|
|
alloc.o: tes.h
|
|
alloc.o: types.h
|
|
putline.o: alloc.h
|
|
putline.o: assert.h
|
|
putline.o: ext.h
|
|
putline.o: line.h
|
|
putline.o: lookup.h
|
|
putline.o: optim.h
|
|
putline.o: param.h
|
|
putline.o: proinf.h
|
|
putline.o: tes.h
|
|
putline.o: types.h
|
|
cleanup.o: assert.h
|
|
cleanup.o: ext.h
|
|
cleanup.o: lookup.h
|
|
cleanup.o: param.h
|
|
cleanup.o: types.h
|
|
peephole.o: alloc.h
|
|
peephole.o: assert.h
|
|
peephole.o: ext.h
|
|
peephole.o: line.h
|
|
peephole.o: lookup.h
|
|
peephole.o: optim.h
|
|
peephole.o: param.h
|
|
peephole.o: pattern.h
|
|
peephole.o: proinf.h
|
|
peephole.o: tes.h
|
|
peephole.o: types.h
|
|
flow.o: alloc.h
|
|
flow.o: ext.h
|
|
flow.o: line.h
|
|
flow.o: optim.h
|
|
flow.o: param.h
|
|
flow.o: proinf.h
|
|
flow.o: tes.h
|
|
flow.o: types.h
|
|
reg.o: alloc.h
|
|
reg.o: assert.h
|
|
reg.o: ext.h
|
|
reg.o: line.h
|
|
reg.o: param.h
|
|
reg.o: proinf.h
|
|
reg.o: tes.h
|
|
reg.o: types.h
|
|
tes.o: alloc.h
|
|
tes.o: assert.h
|
|
tes.o: ext.h
|
|
tes.o: line.h
|
|
tes.o: param.h
|
|
tes.o: pop_push.h
|
|
tes.o: proinf.h
|
|
tes.o: tes.h
|
|
tes.o: types.h
|
|
pop_push.o: pop_push.h
|
|
pattern.o: param.h
|
|
pattern.o: pattern.h
|
|
pattern.o: types.h
|
|
regglob.o: alloc.h
|
|
regglob.o: assert.h
|
|
regglob.o: ext.h
|
|
regglob.o: line.h
|
|
regglob.o: param.h
|
|
regglob.o: proinf.h
|
|
regglob.o: tes.h
|
|
regglob.o: types.h
|
|
regnoglob.o: alloc.h
|
|
regnoglob.o: assert.h
|
|
regnoglob.o: ext.h
|
|
regnoglob.o: line.h
|
|
regnoglob.o: param.h
|
|
regnoglob.o: proinf.h
|
|
regnoglob.o: tes.h
|
|
regnoglob.o: types.h
|