228 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			228 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
 |