Removed historical dependencies on `Makefile'. They had rotted to being

mostly for objects that have the fewest dependencies on `Makefile'
(since they were mostly for utilities and objects generated from *.s
and these don't depend on profiling flags).

Give an explicit rule for building vnode_if.o.  This fixes building
it without ${PROF}.

Use .ORDER instead of a stamp file to avoid building vnode_if.[ch]
concurrently.

Removed explicit dependencies that will be generated by `make' (.c.o)
or will be generated by mkdep.

Added missing dependencies of special objects on opt_global.h.

Use ${NORMAL_C} instead of special rules for special objects where
possible.

FIxed dependencies of vers.o.
This commit is contained in:
Bruce Evans 1998-07-12 10:47:32 +00:00
parent 784c3c3465
commit a872b9bdd0
3 changed files with 66 additions and 96 deletions

View File

@ -1,7 +1,7 @@
# Makefile.i386 -- with config changes.
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.115 1998/06/24 13:55:32 eivind Exp $
# $Id: Makefile.i386,v 1.116 1998/07/12 09:52:43 bde Exp $
#
# Makefile for FreeBSD
#
@ -109,7 +109,7 @@ SYSTEM_LD_TAIL= @size ${.TARGET} ; chmod 755 ${.TARGET}
clean:
rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \
makelinks param.c setdefs.h symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h .vnode_if_created ${CLEAN}
vers.c vnode_if.c vnode_if.h ${CLEAN}
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
@ -117,7 +117,7 @@ clean:
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
symbols.exclude: Makefile
symbols.exclude:
echo "gcc2_compiled." >symbols.exclude
echo "___gnu_compiled_c" >>symbols.exclude
@ -143,35 +143,19 @@ gensetdefs: gensetdefs.o
gensetdefs.o: ${I386}/i386/gensetdefs.c
${CC} -c ${CFLAGS} ${I386}/i386/gensetdefs.c
# everything potentially depends on the Makefile since everything potentially
# depends on the options. Some things are more dependent on the Makefile for
# historical reasons.
machdep.o: Makefile
# the following is necessary because autoconf.o depends on #if GENERIC
autoconf.o: Makefile
# XXX - may no longer be needed
locore.o: Makefile
# depends on KDB (cons.o also depends on GENERIC)
trap.o cons.o: Makefile
# this rule stops ./assym.s in .depend from causing problems
./assym.s: assym.s
assym.s: genassym
./genassym >assym.s
# Some of the defines that genassym outputs may well depend on the
# value of kernel options.
genassym.o: ${I386}/i386/genassym.c Makefile opt_global.h opt_vm86.h
genassym.o: ${I386}/i386/genassym.c
${CC} -c ${CFLAGS} -UKERNEL ${I386}/i386/genassym.c
genassym: genassym.o
${CC} ${CFLAGS} genassym.o -o ${.TARGET}
${OBJS}: opt_global.h
${SYSTEM_OBJS}: opt_global.h
# XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical.
depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND}
@ -215,27 +199,33 @@ install:
fi
install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/
ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h \
${I386}/isa/isa_device.h ${I386}/isa/isa.h ${I386}/isa/icu.h
${CC} -c ${CFLAGS} ioconf.c
config.o:
${NORMAL_C}
ioconf.o:
${NORMAL_C}
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
param.o: param.c Makefile
${CC} -c ${CFLAGS} param.c
param.o:
${NORMAL_C}
vers.o: $S/sys/param.h ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT}
${CC} ${CFLAGS} -c vers.c
vnode_if.c vnode_if.h: .vnode_if_created
touch ${.TARGET}
# XXX strictly, everything depends on Makefile because changes to ${PROF}
# only appear there, but we don't handle that.
vers.o:
${NORMAL_C}
.vnode_if_created: $S/kern/vnode_if.sh $S/kern/vnode_if.src
.ORDER: vnode_if.c vnode_if.h
vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
touch ${.TARGET}
vnode_if.o:
${NORMAL_C}
.include <bsd.kern.mk>

View File

@ -1,7 +1,7 @@
# Makefile.i386 -- with config changes.
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.115 1998/06/24 13:55:32 eivind Exp $
# $Id: Makefile.i386,v 1.116 1998/07/12 09:52:43 bde Exp $
#
# Makefile for FreeBSD
#
@ -109,7 +109,7 @@ SYSTEM_LD_TAIL= @size ${.TARGET} ; chmod 755 ${.TARGET}
clean:
rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \
makelinks param.c setdefs.h symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h .vnode_if_created ${CLEAN}
vers.c vnode_if.c vnode_if.h ${CLEAN}
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
@ -117,7 +117,7 @@ clean:
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
symbols.exclude: Makefile
symbols.exclude:
echo "gcc2_compiled." >symbols.exclude
echo "___gnu_compiled_c" >>symbols.exclude
@ -143,35 +143,19 @@ gensetdefs: gensetdefs.o
gensetdefs.o: ${I386}/i386/gensetdefs.c
${CC} -c ${CFLAGS} ${I386}/i386/gensetdefs.c
# everything potentially depends on the Makefile since everything potentially
# depends on the options. Some things are more dependent on the Makefile for
# historical reasons.
machdep.o: Makefile
# the following is necessary because autoconf.o depends on #if GENERIC
autoconf.o: Makefile
# XXX - may no longer be needed
locore.o: Makefile
# depends on KDB (cons.o also depends on GENERIC)
trap.o cons.o: Makefile
# this rule stops ./assym.s in .depend from causing problems
./assym.s: assym.s
assym.s: genassym
./genassym >assym.s
# Some of the defines that genassym outputs may well depend on the
# value of kernel options.
genassym.o: ${I386}/i386/genassym.c Makefile opt_global.h opt_vm86.h
genassym.o: ${I386}/i386/genassym.c
${CC} -c ${CFLAGS} -UKERNEL ${I386}/i386/genassym.c
genassym: genassym.o
${CC} ${CFLAGS} genassym.o -o ${.TARGET}
${OBJS}: opt_global.h
${SYSTEM_OBJS}: opt_global.h
# XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical.
depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND}
@ -215,27 +199,33 @@ install:
fi
install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/
ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h \
${I386}/isa/isa_device.h ${I386}/isa/isa.h ${I386}/isa/icu.h
${CC} -c ${CFLAGS} ioconf.c
config.o:
${NORMAL_C}
ioconf.o:
${NORMAL_C}
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
param.o: param.c Makefile
${CC} -c ${CFLAGS} param.c
param.o:
${NORMAL_C}
vers.o: $S/sys/param.h ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT}
${CC} ${CFLAGS} -c vers.c
vnode_if.c vnode_if.h: .vnode_if_created
touch ${.TARGET}
# XXX strictly, everything depends on Makefile because changes to ${PROF}
# only appear there, but we don't handle that.
vers.o:
${NORMAL_C}
.vnode_if_created: $S/kern/vnode_if.sh $S/kern/vnode_if.src
.ORDER: vnode_if.c vnode_if.h
vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
touch ${.TARGET}
vnode_if.o:
${NORMAL_C}
.include <bsd.kern.mk>

View File

@ -1,7 +1,7 @@
# Makefile.i386 -- with config changes.
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.115 1998/06/24 13:55:32 eivind Exp $
# $Id: Makefile.i386,v 1.116 1998/07/12 09:52:43 bde Exp $
#
# Makefile for FreeBSD
#
@ -109,7 +109,7 @@ SYSTEM_LD_TAIL= @size ${.TARGET} ; chmod 755 ${.TARGET}
clean:
rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \
makelinks param.c setdefs.h symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h .vnode_if_created ${CLEAN}
vers.c vnode_if.c vnode_if.h ${CLEAN}
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
@ -117,7 +117,7 @@ clean:
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
symbols.exclude: Makefile
symbols.exclude:
echo "gcc2_compiled." >symbols.exclude
echo "___gnu_compiled_c" >>symbols.exclude
@ -143,35 +143,19 @@ gensetdefs: gensetdefs.o
gensetdefs.o: ${I386}/i386/gensetdefs.c
${CC} -c ${CFLAGS} ${I386}/i386/gensetdefs.c
# everything potentially depends on the Makefile since everything potentially
# depends on the options. Some things are more dependent on the Makefile for
# historical reasons.
machdep.o: Makefile
# the following is necessary because autoconf.o depends on #if GENERIC
autoconf.o: Makefile
# XXX - may no longer be needed
locore.o: Makefile
# depends on KDB (cons.o also depends on GENERIC)
trap.o cons.o: Makefile
# this rule stops ./assym.s in .depend from causing problems
./assym.s: assym.s
assym.s: genassym
./genassym >assym.s
# Some of the defines that genassym outputs may well depend on the
# value of kernel options.
genassym.o: ${I386}/i386/genassym.c Makefile opt_global.h opt_vm86.h
genassym.o: ${I386}/i386/genassym.c
${CC} -c ${CFLAGS} -UKERNEL ${I386}/i386/genassym.c
genassym: genassym.o
${CC} ${CFLAGS} genassym.o -o ${.TARGET}
${OBJS}: opt_global.h
${SYSTEM_OBJS}: opt_global.h
# XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical.
depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND}
@ -215,27 +199,33 @@ install:
fi
install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/
ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h \
${I386}/isa/isa_device.h ${I386}/isa/isa.h ${I386}/isa/icu.h
${CC} -c ${CFLAGS} ioconf.c
config.o:
${NORMAL_C}
ioconf.o:
${NORMAL_C}
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
param.o: param.c Makefile
${CC} -c ${CFLAGS} param.c
param.o:
${NORMAL_C}
vers.o: $S/sys/param.h ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT}
${CC} ${CFLAGS} -c vers.c
vnode_if.c vnode_if.h: .vnode_if_created
touch ${.TARGET}
# XXX strictly, everything depends on Makefile because changes to ${PROF}
# only appear there, but we don't handle that.
vers.o:
${NORMAL_C}
.vnode_if_created: $S/kern/vnode_if.sh $S/kern/vnode_if.src
.ORDER: vnode_if.c vnode_if.h
vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
touch ${.TARGET}
vnode_if.o:
${NORMAL_C}
.include <bsd.kern.mk>