file reorg, pathnames.h, paths.h
[unix-history] / usr / src / old / pcc / lint / Makefile
index c5a86a8..ce417eb 100644 (file)
 #
 #
-#      @(#)Makefile    1.    (Berkeley)      %G%
+#      @(#)Makefile    1.24    (Berkeley)      %G%
 #
 #
-M=/usr/src/lib/mip
-LOAD1=
-LOAD2=
-CFLAGS=-O -DFLEXNAMES
-LINTLIBS=llib-port.ln llib-lc.ln llib-lm.ln llib-lmp.ln
-
-all:   lpass1 lpass2 ${LINTLIBS}
-
-lpass1: cgram.o xdefs.o scan.o comm1.o pftn.o trees.o optim.o lint.o hash.o
-       ${CC} cgram.o xdefs.o scan.o comm1.o pftn.o trees.o optim.o \
-               lint.o hash.o -o lpass1
+M=../../libexec/mip
+P=../../libexec/pcc
+CFLAGS=-O
+LINTLIBS=llib-port.ln llib-lc.ln llib-lcurses.ln llib-ldbm.ln llib-lm.ln \
+       llib-lmp.ln llib-lplot.ln llib-ltermcap.ln
+SRCS=  $M/cgram.y $M/common.c $M/optim.c $M/pftn.c $M/scan.c $M/trees.c \
+       $M/xdefs.c lint.c hash.c $M/pass1.h $M/manifest.h macdefs.h \
+       lpass2.c
+MAN=   lint.0
+
+all: lpass1 lpass2 ${LINTLIBS}
+
+lpass1: cgram.o rodata.o comm1.o optim.o pftn.o scan.o trees.o xdefs.o \
+       lint.o hash.o rel.o
+       ${CC} ${CFLAGS} cgram.o rodata.o comm1.o optim.o pftn.o scan.o \
+               trees.o xdefs.o lint.o hash.o rel.o -o lpass1
+
+cgram.o: $M/manifest.h $M/pass1.h pcclocal.h macdefs.h cgram.c
+       $(CC) -c $(CFLAGS) -I$M -I. cgram.c
+
+rodata.o: rodata.c
+       $(CC) -c $(CFLAGS) -R rodata.c
+
+comm1.o: $M/manifest.h $M/pass1.h pcclocal.h $M/common.c macdefs.h
+       ln -s $M/common.c comm1.c
+       $(CC) -c $(CFLAGS) -I$M -I. -DPASS1COMMON comm1.c
+       rm -f comm1.c
+
+optim.o: $M/manifest.h macdefs.h $M/pass1.h pcclocal.h $M/optim.c
+       $(CC) -c $(CFLAGS) -I$M -I. $M/optim.c
+
+pftn.o: $M/manifest.h macdefs.h $M/pass1.h pcclocal.h $M/pftn.c
+       $(CC) -c $(CFLAGS) -I$M -I. $M/pftn.c
+
+scan.o: $M/manifest.h macdefs.h $M/pass1.h pcclocal.h $M/scan.c
+       $(CC) -c $(CFLAGS) -I$M -I. $M/scan.c
+
+trees.o: $M/manifest.h macdefs.h $M/pass1.h pcclocal.h $M/trees.c
+       $(CC) -c $(CFLAGS) -I$M -I. $M/trees.c
+
+xdefs.o: $M/manifest.h $M/pass1.h pcclocal.h macdefs.h $M/xdefs.c
+       $(CC) -c $(CFLAGS) -I$M -I. $M/xdefs.c
+
+rodata.c cgram.c: $M/cgram.y pcctokens
+       cat pcctokens $M/cgram.y > gram.in
+       $(YACC) gram.in
+       rm -f rodata.c
+       sh ./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
+       mv y.tab.c cgram.c
 
 
-trees.o: $M/manifest macdefs $M/mfile1 $M/trees.c
-       ${CC} -c ${CFLAGS} -I$M -I. $M/trees.c
+GREP=  egrep
 
 
-optim.o: $M/manifest macdefs $M/mfile1 $M/optim.c
-       ${CC} -c ${CFLAGS} -I$M -I. $M/optim.c
+pcclocal.h: $P/localdefs.h /usr/include/pcc.h
+       rm -f pcclocal.h
+       cat /usr/include/pcc.h $P/localdefs.h | $(GREP) '^#[    ]*(define[      ][      ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | sed -e 's/PCC[A-Z]*_//' > pcclocal.h 
 
 
-pftn.o: $M/manifest macdefs $M/mfile1 $M/pftn.c
-       ${CC} -c ${CFLAGS} -I$M -I. $M/pftn.c
+pcctokens: $P/localdefs.h /usr/include/pcc.h
+       rm -f pcctokens
+       cat /usr/include/pcc.h $P/localdefs.h | $(GREP) '^#[    ]*define[       ][      ]*PCC_' | sed -e 's/^#[         ]*define[       ][      ]*PCC_/%term    /' > pcctokens
 
 
-lint.o: $M/manifest macdefs $M/mfile1 lmanifest
+lint.o: $M/manifest.h macdefs.h $M/pass1.h lmanifest.h
        ${CC} -c ${CFLAGS} -I$M -I. lint.c
 
        ${CC} -c ${CFLAGS} -I$M -I. lint.c
 
-scan.o: $M/manifest macdefs $M/mfile1 $M/scan.c
-       ${CC} -c ${CFLAGS} -I$M -I. $M/scan.c
-
-xdefs.o: $M/manifest $M/mfile1 macdefs $M/xdefs.c
-       ${CC} -c ${CFLAGS} -I$M -I. $M/xdefs.c
-
-cgram.o: $M/manifest $M/mfile1 macdefs cgram.c
-       ${CC} -c ${CFLAGS} -I$M -I. cgram.c
-
-cgram.c: $M/cgram.y
-       yacc $M/cgram.y
-       mv y.tab.c cgram.c
-
-comm1.o: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
-       ${CC} -c ${CFLAGS} -I. -I$M $M/comm1.c
-
 llib-port.ln: llib-port lpass1
        -(/lib/cpp -C -Dlint llib-port | ./lpass1 -puv > llib-port.ln )
 
 llib-port.ln: llib-port lpass1
        -(/lib/cpp -C -Dlint llib-port | ./lpass1 -puv > llib-port.ln )
 
+llib-ldbm.ln: llib-ldbm lpass1
+       -(/lib/cpp -C -Dlint llib-ldbm | ./lpass1 -uv > llib-ldbm.ln )
+
 llib-lm.ln: llib-lm lpass1
 llib-lm.ln: llib-lm lpass1
-       -(/lib/cpp -C -Dlint llib-lm | ./lpass1 -puv > llib-lm.ln )
+       -(/lib/cpp -C -Dlint llib-lm | ./lpass1 -uv > llib-lm.ln )
 
 llib-lmp.ln: llib-lmp lpass1
 
 llib-lmp.ln: llib-lmp lpass1
-       -(/lib/cpp -C -Dlint llib-lmp | ./lpass1 -puv > llib-lmp.ln )
+       -(/lib/cpp -C -Dlint llib-lmp | ./lpass1 -uv > llib-lmp.ln )
+
+llib-lplot.ln: llib-lplot lpass1
+       -(/lib/cpp -C -Dlint llib-lplot | ./lpass1 -uv > llib-lplot.ln )
+
+llib-ltermcap.ln: llib-ltermcap lpass1
+       -(/lib/cpp -C -Dlint llib-ltermcap | ./lpass1 -uv > llib-ltermcap.ln )
 
 llib-lc.ln: llib-lc lpass1
        -(/lib/cpp -C -Dlint llib-lc | ./lpass1 -v > llib-lc.ln )
 
 
 llib-lc.ln: llib-lc lpass1
        -(/lib/cpp -C -Dlint llib-lc | ./lpass1 -v > llib-lc.ln )
 
+llib-lcurses.ln: llib-lcurses lpass1
+       -(/lib/cpp -C -Dlint -D__void__=__curses__ llib-lcurses | ./lpass1 -v > llib-lcurses.ln )
+
 lpass2: lpass2.o hash.o
 lpass2: lpass2.o hash.o
-       ${CC} lpass2.o hash.o -o lpass2
+       ${CC} ${CFLAGS} lpass2.o hash.o -o lpass2
 
 
-lpass2.o: $M/manifest lmanifest
+lpass2.o: $M/manifest.h lmanifest.h pcclocal.h macdefs.h
        ${CC} ${CFLAGS} -c -I$M -I. lpass2.c
        ${CC} ${CFLAGS} -c -I$M -I. lpass2.c
-       
+
+hash.o: hash.c
+       ${CC} ${CFLAGS} -c -I$M -I. hash.c
+
 lintall:
        lint -hpv -I. -I$M  $M/cgram.c $M/xdefs.c $M/scan.c \
                $M/pftn.c $M/trees.c $M/optim.c lint.c
 
 lintall:
        lint -hpv -I. -I$M  $M/cgram.c $M/xdefs.c $M/scan.c \
                $M/pftn.c $M/trees.c $M/optim.c lint.c
 
-install: all SHELL
-       install -s lpass1 ${DESTDIR}/usr/lib/lint/lint1
-       install -s lpass2 ${DESTDIR}/usr/lib/lint/lint2
-       for i in llib-*; do install -c -m 644 $$i ${DESTDIR}/usr/lib/lint; done
-       install -c SHELL ${DESTDIR}/usr/bin/lint
+install: all SHELL ${MAN}
+       install -s -o bin -g bin -m 755 lpass1 lpass2 /usr/libexec
+       install -c -o bin -g bin -m 444 llib-* /usr/libdata/lint
+       rm -f /usr/libdata/llib-ltermlib*
+       ln -s llib-ltermcap /usr/libdata/llib-ltermlib
+       ln -s llib-ltermcap.ln /usr/libdata/llib-ltermlib.ln
+       install -c -o bin -g bin -m 755 SHELL ${DESTDIR}/usr/bin/lint
+       install -c -o bin -g bin -m 444 ${MAN} ${DESTDIR}/usr/man/cat1
 
 shrink:
 
 shrink:
-       rm -f *.o
+       rm -f *.o errs rodata.c pcctokens pcclocal.h
 
 clean: shrink
 
 clean: shrink
-       rm -f lpass1 lpass2 cgram.c ${LINTLIBS}
+       rm -f lpass1 lpass2 cgram.c gram.in tags ${LINTLIBS}
+
+cleandir: clean
+       rm -f ${MAN} tags .depend
+
+tags: ${SRCS}
+       ctags -w ${SRCS}
+
+depend lint: