From 024253188b8a83490640c471765805ffc5012fd1 Mon Sep 17 00:00:00 2001 From: Garrett Wollman Date: Sun, 7 Nov 1993 16:46:33 +0000 Subject: [PATCH] Try to be a little smarter about touching the date on assym.s, so that if something changes which doesn't affect it, locore doesn't have to get rebuilt. This is at the cost of a genassym and a cmp in every compile, until someone can figure out how to make `make' smarter itself. --- sys/conf/Makefile.i386 | 29 +++++++++++++++++------------ sys/conf/Makefile.powerpc | 29 +++++++++++++++++------------ sys/i386/conf/Makefile.i386 | 29 +++++++++++++++++------------ 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386 index e026cdf81ac4..25bf3e7f645d 100644 --- a/sys/conf/Makefile.i386 +++ b/sys/conf/Makefile.i386 @@ -1,6 +1,6 @@ # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.10 1993/10/23 08:28:17 nate Exp $ +# $Id: Makefile.i386,v 1.11 1993/11/07 04:41:11 wollman Exp $ # # Makefile for FreeBSD # @@ -67,13 +67,13 @@ PROFILE_C= ${CC} -S -c ${CFLAGS} $< ; \ clean: rm -f eddep *386bsd tags *.o locore.i [a-uw-z]*.s \ - errs linterrs makelinks genassym + errs linterrs makelinks genassym ,assym.s stamp-assym -lint: /tmp param.c - @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ - ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ - grep -v 'struct/union .* never defined' | \ - grep -v 'possible pointer alignment problem' +#lint: /tmp param.c +# @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ +# ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ +# grep -v 'struct/union .* never defined' | \ +# grep -v 'possible pointer alignment problem' symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ @@ -95,16 +95,21 @@ autoconf.o: Makefile # depend on network configuration af.o uipc_proto.o locore.o: Makefile -# depend on maxusers -assym.s: Makefile - # depends on KDB (cons.o also depends on GENERIC) trap.o cons.o: Makefile assym.s: genassym - ./genassym >assym.s + ./genassym >,assym.s + if cmp -s assym.s ,assym.s; then \ + rm -f ,assym.s; \ + else \ + rm -f assym.s; \ + mv ,assym.s assym.s; \ + fi -genassym: +# Some of the defines that genassym outputs may well depend on the +# value of kernel options. +genassym: Makefile ${CC} ${INCLUDES} -DKERNEL ${IDENT} ${PARAM} \ ${I386}/i386/genassym.c -o genassym diff --git a/sys/conf/Makefile.powerpc b/sys/conf/Makefile.powerpc index e026cdf81ac4..25bf3e7f645d 100644 --- a/sys/conf/Makefile.powerpc +++ b/sys/conf/Makefile.powerpc @@ -1,6 +1,6 @@ # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.10 1993/10/23 08:28:17 nate Exp $ +# $Id: Makefile.i386,v 1.11 1993/11/07 04:41:11 wollman Exp $ # # Makefile for FreeBSD # @@ -67,13 +67,13 @@ PROFILE_C= ${CC} -S -c ${CFLAGS} $< ; \ clean: rm -f eddep *386bsd tags *.o locore.i [a-uw-z]*.s \ - errs linterrs makelinks genassym + errs linterrs makelinks genassym ,assym.s stamp-assym -lint: /tmp param.c - @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ - ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ - grep -v 'struct/union .* never defined' | \ - grep -v 'possible pointer alignment problem' +#lint: /tmp param.c +# @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ +# ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ +# grep -v 'struct/union .* never defined' | \ +# grep -v 'possible pointer alignment problem' symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ @@ -95,16 +95,21 @@ autoconf.o: Makefile # depend on network configuration af.o uipc_proto.o locore.o: Makefile -# depend on maxusers -assym.s: Makefile - # depends on KDB (cons.o also depends on GENERIC) trap.o cons.o: Makefile assym.s: genassym - ./genassym >assym.s + ./genassym >,assym.s + if cmp -s assym.s ,assym.s; then \ + rm -f ,assym.s; \ + else \ + rm -f assym.s; \ + mv ,assym.s assym.s; \ + fi -genassym: +# Some of the defines that genassym outputs may well depend on the +# value of kernel options. +genassym: Makefile ${CC} ${INCLUDES} -DKERNEL ${IDENT} ${PARAM} \ ${I386}/i386/genassym.c -o genassym diff --git a/sys/i386/conf/Makefile.i386 b/sys/i386/conf/Makefile.i386 index e026cdf81ac4..25bf3e7f645d 100644 --- a/sys/i386/conf/Makefile.i386 +++ b/sys/i386/conf/Makefile.i386 @@ -1,6 +1,6 @@ # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.10 1993/10/23 08:28:17 nate Exp $ +# $Id: Makefile.i386,v 1.11 1993/11/07 04:41:11 wollman Exp $ # # Makefile for FreeBSD # @@ -67,13 +67,13 @@ PROFILE_C= ${CC} -S -c ${CFLAGS} $< ; \ clean: rm -f eddep *386bsd tags *.o locore.i [a-uw-z]*.s \ - errs linterrs makelinks genassym + errs linterrs makelinks genassym ,assym.s stamp-assym -lint: /tmp param.c - @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ - ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ - grep -v 'struct/union .* never defined' | \ - grep -v 'possible pointer alignment problem' +#lint: /tmp param.c +# @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ +# ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ +# grep -v 'struct/union .* never defined' | \ +# grep -v 'possible pointer alignment problem' symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ @@ -95,16 +95,21 @@ autoconf.o: Makefile # depend on network configuration af.o uipc_proto.o locore.o: Makefile -# depend on maxusers -assym.s: Makefile - # depends on KDB (cons.o also depends on GENERIC) trap.o cons.o: Makefile assym.s: genassym - ./genassym >assym.s + ./genassym >,assym.s + if cmp -s assym.s ,assym.s; then \ + rm -f ,assym.s; \ + else \ + rm -f assym.s; \ + mv ,assym.s assym.s; \ + fi -genassym: +# Some of the defines that genassym outputs may well depend on the +# value of kernel options. +genassym: Makefile ${CC} ${INCLUDES} -DKERNEL ${IDENT} ${PARAM} \ ${I386}/i386/genassym.c -o genassym