New Makefile, also generating opt2 (t.i. peephole optimizer after global ..)
authorceriel <none@none>
Mon, 12 Jan 1987 14:01:26 +0000 (14:01 +0000)
committerceriel <none@none>
Mon, 12 Jan 1987 14:01:26 +0000 (14:01 +0000)
util/opt/Makefile

index ed067c9..4c7a40f 100644 (file)
@@ -1,13 +1,16 @@
 # $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
 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 reg.o
+       alloc.o putline.o cleanup.o peephole.o flow.o
+ONOGLOB=regnoglob.o
+OGLOB=regglob.o
 KFILES=main.k getline.k lookup.k var.k process.k backward.k util.k\
-       alloc.k putline.k cleanup.k peephole.k flow.k reg.k
-LIBS=../../lib/em_data.a
-CFLAGS=-O -DNDEBUG
+       alloc.k putline.k cleanup.k peephole.k flow.k regnoglob.k regglob.k
+LIBS=$(EMHOME)/lib/em_data.a
+CFLAGS=-O -DNDEBUG -I$(EMHOME)/h
 LDFLAGS=-i
 LINT=lint
 OPR=wide|opr
@@ -19,18 +22,28 @@ LEXLIB=-ll
 .DEFAULT:
        co -q $<
 
-opt:    $(OFILES) pattern.o $(LIBS)
-       cc $(LDFLAGS) $(CFLAGS) $(OFILES) pattern.o $(LIBS) -o opt
+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 :   opt
-       cmp opt ../../lib/em_opt
+cmp :  all
+       -cmp opt $(EMHOME)/lib/em_opt
+       -cmp opt2 $(EMHOME)/lib/em_opt2
 
-install:opt
-       -size opt ../../lib/em_opt
-       cp opt ../../lib/em_opt
+install:all
+       -size opt $(EMHOME)/lib/em_opt
+       rm -f $(EMHOME)/lib/opt
+       cp opt $(EMHOME)/lib/em_opt
+       -size opt2 $(EMHOME)/lib/em_opt2
+       rm -f $(EMHOME)/lib/opt2
+       cp opt2 $(EMHOME)/lib/em_opt2
 
 pattern.c:      patterns mktab
        /lib/cpp patterns | mktab > pattern.c
@@ -38,8 +51,12 @@ pattern.c:      patterns mktab
 mktab:  mktab.o $(LIBS)
        cc $(CFLAGS) mktab.o $(LIBS) $(LEXLIB) -o mktab
 
-depend: makedepend
-       makedepend
+depend: regglob.c regnoglob.c pattern.c
+       sed '/^#AUTOAUTO/,$$d' Makefile >Makefile.new
+       echo '#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO' >> Makefile.new
+       mkdep $(CFILES) pattern.c regglob.c regnoglob.c | sed 's/\.c:/.o:/' >> Makefile.new
+       mv Makefile Makefile.old
+       mv Makefile.new Makefile
 
 lint:   $(CFILES) pattern.c
        $(LINT) $(CFILES) pattern.c>lint 2>&1
@@ -66,137 +83,35 @@ sizes:  opt
 clean:
        rm -f *.o opt mktab mktab.c scan.c pattern.c
 
+regnoglob.c:   reg.c
+               cp reg.c regnoglob.c
+
+regglob.c:     reg.c
+               cp reg.c regglob.c
+
+regglob.o:     regglob.c
+               $(CC) $(CFLAGS) -c -DGLOBAL_OPT regglob.c
+
 kfiles: $(KFILES)
 
 .SUFFIXES: .k
 .c.k: ; cem -c $*.c
 
 # the next lines are generated automatically
-# AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
-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:       types.h
-backward.o:    ../../h/em_mnem.h
-backward.o:    ../../h/em_pseu.h
-backward.o:    ../../h/em_spec.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:    types.h
-cleanup.o:     ../../h/em_mes.h
-cleanup.o:     ../../h/em_pseu.h
-cleanup.o:     ../../h/em_spec.h
-cleanup.o:     assert.h
-cleanup.o:     ext.h
-cleanup.o:     lookup.h
-cleanup.o:     param.h
-cleanup.o:     types.h
-flow.o:        ../../h/em_flag.h
-flow.o:        ../../h/em_mnem.h
-flow.o:        ../../h/em_spec.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:        types.h
-getline.o:     ../../h/em_flag.h
-getline.o:     ../../h/em_mes.h
-getline.o:     ../../h/em_pseu.h
-getline.o:     ../../h/em_spec.h
-getline.o:     alloc.h
-getline.o:     assert.h
-getline.o:     ext.h
-getline.o:     line.h
-getline.o:     lookup.h
-getline.o:     param.h
-getline.o:     proinf.h
-getline.o:     types.h
-lookup.o:      alloc.h
-lookup.o:      lookup.h
-lookup.o:      param.h
-lookup.o:      proinf.h
-lookup.o:      types.h
-main.o:        ../../h/em_spec.h
-main.o:        alloc.h
-main.o:        ext.h
-main.o:        param.h
-main.o:        types.h
-mktab.o:       ../../h/em_mnem.h
-mktab.o:       ../../h/em_spec.h
-mktab.o:       optim.h
-mktab.o:       param.h
-mktab.o:       pattern.h
-mktab.o:       scan.c
-mktab.o:       types.h
-pattern.o:     param.h
-pattern.o:     pattern.h
-pattern.o:     types.h
-peephole.o:    ../../h/em_mnem.h
-peephole.o:    ../../h/em_spec.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:    types.h
-process.o:     ../../h/em_pseu.h
-process.o:     ../../h/em_spec.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:     types.h
-putline.o:     ../../h/em_flag.h
-putline.o:     ../../h/em_mnem.h
-putline.o:     ../../h/em_pseu.h
-putline.o:     ../../h/em_spec.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:     types.h
-reg.o: ../../h/em_mes.h
-reg.o: ../../h/em_pseu.h
-reg.o: ../../h/em_spec.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: types.h
-scan.o:        stdio.h
-special.o:     param.h
-special.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:        types.h
-var.o: lookup.h
-var.o: param.h
-var.o: proinf.h
-var.o: types.h
+#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
+main.o: ../../h/em_spec.h alloc.h ext.h param.h types.h
+getline.o: ../../h/em_flag.h ../../h/em_mes.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h ext.h line.h lookup.h param.h proinf.h types.h
+lookup.o: alloc.h lookup.h param.h proinf.h types.h
+var.o: lookup.h param.h proinf.h types.h
+process.o: ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h lookup.h param.h proinf.h types.h
+backward.o: ../../h/em_mnem.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h lookup.h param.h proinf.h types.h
+util.o: assert.h ext.h lookup.h optim.h param.h proinf.h types.h
+alloc.o: alloc.h assert.h line.h lookup.h param.h proinf.h types.h
+putline.o: ../../h/em_flag.h ../../h/em_mnem.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h lookup.h optim.h param.h proinf.h types.h
+cleanup.o: ../../h/em_mes.h ../../h/em_pseu.h ../../h/em_spec.h assert.h ext.h lookup.h param.h types.h
+peephole.o: ../../h/em_mnem.h ../../h/em_spec.h alloc.h assert.h ext.h line.h lookup.h optim.h param.h pattern.h proinf.h types.h
+flow.o: ../../h/em_flag.h ../../h/em_mnem.h ../../h/em_spec.h alloc.h ext.h line.h optim.h param.h proinf.h types.h
+reg.o: ../../h/em_mes.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h param.h proinf.h types.h
+pattern.o: param.h pattern.h types.h
+regglob.o: ../../h/em_mes.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h param.h proinf.h types.h
+regnoglob.o: ../../h/em_mes.h ../../h/em_pseu.h ../../h/em_spec.h alloc.h assert.h ext.h line.h param.h proinf.h types.h