MACHINE defined by make, now
[unix-history] / usr / src / games / Makefile
index bd4678c..4fccd8a 100644 (file)
@@ -3,19 +3,15 @@
 # All rights reserved.  The Berkeley software License Agreement
 # specifies the terms and conditions for redistribution.
 #
 # All rights reserved.  The Berkeley software License Agreement
 # specifies the terms and conditions for redistribution.
 #
-#      @(#)Makefile    5.1 (Berkeley) %G%
+#      @(#)Makefile    5.6 (Berkeley) 11/17/86
 #
 DESTDIR=
 CFLAGS=        -O
 
 #
 DESTDIR=
 CFLAGS=        -O
 
-# The following sources are incomplete and cannot be compiled without
-# some work
-WORK=  aard ddl mpu
-
 # Programs that live in subdirectories, and have makefiles of their own.
 #
 # Programs that live in subdirectories, and have makefiles of their own.
 #
-SUBDIR=        adventure backgammon battlestar boggle ching compat cribbage doctor \
-       fortune hangman hunt mille monop quiz robots rogue sail snake trek zork
+SUBDIR=        adventure backgammon battlestar boggle cribbage fortune \
+       hangman hunt mille monop quiz robots sail snake trek
 
 # Shell scripts that need only be installed and are never removed.
 #
 
 # Shell scripts that need only be installed and are never removed.
 #
@@ -24,18 +20,23 @@ SCRIPT=     wargames
 # C programs that live in the current directory and do not need
 # explicit make lines.
 #
 # C programs that live in the current directory and do not need
 # explicit make lines.
 #
-STD=   arithmetic btlgammon banner bcd cfscores chess factor \
-       fish number wump
+STD=   arithmetic btlgammon banner bcd cfscores factor fish number wump
 
 # C programs that live in the current directory and need explicit make lines.
 #
 NSTD=  canfield primes rain worm worms
 
 
 # C programs that live in the current directory and need explicit make lines.
 #
 NSTD=  canfield primes rain worm worms
 
+# Programs that require a lisp interpreter or compiler
+LISP=  doctor
+
 all:   ${SUBDIR} ${STD} ${NSTD}
 all:   ${SUBDIR} ${STD} ${NSTD}
+       cd games.${MACHINE}; make ${MFLAGS}
 
 
-${SUBDIR}: /tmp
+${SUBDIR}: FRC
        cd $@; make ${MFLAGS}
 
        cd $@; make ${MFLAGS}
 
+FRC:
+
 ${STD}:
        cc ${CFLAGS} -o $@ $@.c
 
 ${STD}:
        cc ${CFLAGS} -o $@ $@.c
 
@@ -46,29 +47,31 @@ install:
                (install -c $$i.sh ${DESTDIR}/usr/games/$$i); done
        -for i in ${STD} ${NSTD}; do \
                (install -s $$i ${DESTDIR}/usr/games/$$i); done
                (install -c $$i.sh ${DESTDIR}/usr/games/$$i); done
        -for i in ${STD} ${NSTD}; do \
                (install -s $$i ${DESTDIR}/usr/games/$$i); done
-       install -c chess.bin ${DESTDIR}/usr/games/lib/chess
-       cat >${DESTDIR}/usr/games/lib/cfscores </dev/null
-       chmod 777 ${DESTDIR}/usr/games/lib/cfscores
+       -if [ ! -f ${DESTDIR}/usr/games/lib/cfscores ]; then \
+               cat >${DESTDIR}/usr/games/lib/cfscores </dev/null; \
+               chmod 777 ${DESTDIR}/usr/games/lib/cfscores; fi
+       cd games.${MACHINE}; make ${MFLAGS} DESTDIR=${DESTDIR} install
 
 clean:
        rm -f a.out core *.s *.o
        -for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
        rm -f ${STD} ${NSTD}
 
 clean:
        rm -f a.out core *.s *.o
        -for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
        rm -f ${STD} ${NSTD}
+       cd games.${MACHINE}; make ${MFLAGS} DESTDIR=${DESTDIR} clean
 
 depend:
 
 depend:
-       cat </dev/null >x.c
        for i in ${STD} ${NSTD}; do \
        for i in ${STD} ${NSTD}; do \
-               (echo $$i: $$i.c >>makedep; \
-               /bin/grep '^#[  ]*include' x.c $$i.c | sed \
-                       -e 's,<\(.*\)>,"/usr/include/\1",' \
-                       -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
-                       -e 's/\.c//' >>makedep); done
+           cc -M ${INCPATH} $$i.c | sed 's/\.o//' | \
+           awk ' { if ($$1 != prev) \
+               { if (rec != "") print rec; rec = $$0; prev = $$1; } \
+               else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
+               else rec = rec " " $$2 } } \
+               END { print rec } ' >> makedep; done
        echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
        echo '$$r makedep' >>eddep
        echo 'w' >>eddep
        cp Makefile Makefile.bak
        ed - Makefile < eddep
        echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
        echo '$$r makedep' >>eddep
        echo 'w' >>eddep
        cp Makefile Makefile.bak
        ed - Makefile < eddep
-       rm eddep makedep x.c
+       rm eddep makedep
        echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
        echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
        echo '# see make depend above' >> Makefile
        echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
        echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
        echo '# see make depend above' >> Makefile
@@ -92,40 +95,30 @@ worms:
 
 # DO NOT DELETE THIS LINE -- make depend uses it
 
 
 # DO NOT DELETE THIS LINE -- make depend uses it
 
-arithmetic: arithmetic.c
-arithmetic: /usr/include/stdio.h
-arithmetic: /usr/include/signal.h
-btlgammon: btlgammon.c
-btlgammon: /usr/include/stdio.h
-banner: banner.c
-banner: /usr/include/stdio.h
+arithmetic: arithmetic.c /usr/include/stdio.h /usr/include/signal.h
+btlgammon: btlgammon.c /usr/include/stdio.h
+banner: banner.c /usr/include/stdio.h
 bcd: bcd.c
 bcd: bcd.c
-cfscores: cfscores.c
-cfscores: /usr/include/pwd.h
-chess: chess.c
-chess: /usr/include/stdio.h
-fish: fish.c
-fish: /usr/include/stdio.h
+cfscores: cfscores.c /usr/include/pwd.h
+factor: factor.c
+fish: fish.c /usr/include/stdio.h
 number: number.c
 number: number.c
-wump: wump.c
-wump: /usr/include/stdio.h
-wump: /usr/include/sgtty.h
-canfield: canfield.c
-canfield: /usr/include/curses.h
-canfield: /usr/include/ctype.h
-canfield: /usr/include/signal.h
-canfield: /usr/include/sys/types.h
-rain: rain.c
-rain: /usr/include/stdio.h
-rain: /usr/include/sgtty.h
+wump: wump.c /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+wump: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+canfield: canfield.c /usr/include/curses.h /usr/include/stdio.h
+canfield: /usr/include/sgtty.h /usr/include/sys/ioctl.h
+canfield: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
+canfield: /usr/include/ctype.h /usr/include/signal.h /usr/include/sys/types.h
+primes: primes.c /usr/include/stdio.h /usr/include/math.h
+rain: rain.c /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
+rain: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
 rain: /usr/include/signal.h
 rain: /usr/include/signal.h
-worm: worm.c
-worm: /usr/include/ctype.h
-worm: /usr/include/curses.h
-worm: /usr/include/signal.h
-worms: worms.c
-worms: /usr/include/stdio.h
-worms: /usr/include/sgtty.h
+worm: worm.c /usr/include/ctype.h /usr/include/curses.h /usr/include/stdio.h
+worm: /usr/include/sgtty.h /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
+worm: /usr/include/sys/ttydev.h /usr/include/signal.h
+worms: worms.c /usr/include/stdio.h /usr/include/sgtty.h
+worms: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
+worms: /usr/include/sys/ttydev.h /usr/include/signal.h
 # DEPENDENCIES MUST END AT END OF FILE
 # IF YOU PUT STUFF HERE IT WILL GO AWAY
 # see make depend above
 # DEPENDENCIES MUST END AT END OF FILE
 # IF YOU PUT STUFF HERE IT WILL GO AWAY
 # see make depend above