# $Header$ EMHOME = ../../.. INSTALL = $(EMHOME)/modules/install COMPARE = $(EMHOME)/modules/compare LIBOPT = libopt.a # set HOWMUCH to head -20 to limit number of patterns used #HOWMUCH = head -20 HOWMUCH = cat LEXLIB = -ll INCLDIR = -I$(EMHOME)/h -I$(EMHOME)/modules/h -I$(EMHOME)/modules/pkg PREFLAGS = $(INCLDIR) -DPRIVATE=static # Enable the next line to produce a version that output's the line number # from the patterns file each time an optimization is performed. #PREFLAG = $(PREFLAGS) -DSTATS PROFFLAG = -O CFLAGS = $(PREFLAGS) $(PROFFLAG) LLOPT = CMD = '$(CC) -c $(CFLAGS)' .SUFFIXES: .d .r .r.d:; CMD=$(CMD); export CMD; awk -f makefuns.awk $*.r | sh touch $@ CSRC = nopt.c aux.c mkcalls.c outputdfa.c outcalls.c\ findworst.c initlex.c SRCS = Makefile nopt.h parser.h parser.g syntax.l pseudo.r patterns $(CSRC) NOFILES = nopt.o dfa.o trans.o aux.o mkcalls.o POFILES = parser.o syntax.o outputdfa.o outcalls.o findworst.o initlex.o Lpars.o GENFILES = Lpars.h Lpars.c parserdummy parser.c syntax.c dfadummy\ dfa.c dfa.c.save trans.c trans.c.save incalls.d incalls.r\ incalls.r.save pseudo.d all: $(LIBOPT) install: all $(INSTALL) lib/$(LIBOPT) cmp: all $(COMPARE) lib/$(LIBOPT) pr: @pr $(SRCS) opr: make pr | opr clean: rm -f C_*.o rm -f C_*.c rm -f $(NOFILES) $(POFILES) $(GENFILES) parser libopt.a $(LIBOPT): dfadummy $(NOFILES) pseudo.d incalls.d rm -f $(LIBOPT) ar rc $(LIBOPT) C_*.o $(NOFILES) -sh -c 'ranlib $(LIBOPT)' dfadummy: patterns parser -mv dfa.c dfa.c.save -mv trans.c trans.c.save -mv incalls.r incalls.r.save -/lib/cpp patterns | $(HOWMUCH) >/tmp/patts parser