Date: Mon, 01 Sep 1997 01:24:53 +0800 From: Peter Wemm <peter@spinner.dialix.com.au> To: "Jonathan M. Bresler" <jmb@FreeBSD.ORG> Cc: max@wide.ad.jp (Masafumi NAKANE/=?ISO-2022-JP?B?GyRCQ2Y6LDJtSjgbKEI=?=), peter@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-share@FreeBSD.ORG Subject: Re: cvs commit: src/share/mk bsd.lib.mk bsd.prog.mk sys.mk Message-ID: <199708311724.BAA21480@spinner.dialix.com.au> In-Reply-To: Your message of "Sun, 31 Aug 1997 06:44:26 MST." <199708311344.GAA05145@hub.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
"Jonathan M. Bresler" wrote: > Masafumi NAKANE/=?ISO-2022-JP?B?GyRCQ2Y6LDJtSjgbKEI=?= wrote: > > > > > > # make buildworld > > -------------------------------------------------------------- > > Making make > > -------------------------------------------------------------- > > mkdir -p /usr/obj/usr/src/tmp/usr/bin > [snip] > > "/usr/src/share/mk/bsd.prog.mk", line 149: Malformed conditional (${BINFORM AT} != aout) > > "/usr/src/share/mk/bsd.prog.mk", line 151: if-less endif > > "/usr/src/share/mk/bsd.prog.mk", line 151: Need an operator > > make: fatal errors encountered -- cannot continue > > *** Error code 1 > > > either sys.mk should be included before bsd.prog.mk is used > (sys.mk will define BINFORMAT) or both bsd.prog.mk (1 > occurance) and bsd.lib.mk (5 occurances) have to be changed > to "conditionalize" BINFORMAT test. I don't understand what's going wrong there. It seems to be working fine for me. sys.mk is implicitly included by make *before* reading the user Makefile. bsd.prog.mk should always be able to see it. Remember, sys.mk includes /etc/make.conf, which bsd.prog.mk refers to. > i'll let someone that is more expert in out make system > determine the "right thing". > > bsd.prog.mk: > *** 147,151 **** > .endif > > ! .if ${BINFORMAT} != aout > .include <bsd.libnames.mk> > .endif > --- 147,151 ---- > .endif > > ! .if defined(BINFORMAT) && (${BINFORMAT} != aout) > .include <bsd.libnames.mk> > .endif Does this sort of thing fix the problem? (Just asking, because I've not been able to duplicate it yet) peter@beast[1:12am]~src/share/mk-240> cvs update cvs update: Updating . peter@beast[1:13am]~src/share/mk-241> diff -ru . /usr/share/mk Only in .: CVS Only in .: Makefile peter@beast[1:13am]~src/share/mk-242> cd ../../sbin/dmesg peter@beast[1:13am]~src/sbin/dmesg-243> make clean rm -f a.out Errs errs mklog dmesg dmesg.o dmesg.8.gz dmesg.8.cat.gz peter@beast[1:13am]~src/sbin/dmesg-244> make cc -O -pipe -c /home/src/sbin/dmesg/dmesg.c cc -O -pipe -static -o dmesg dmesg.o -lkvm gzip -c /home/src/sbin/dmesg/dmesg.8 > dmesg.8.gz [note, BINFORMAT is not presently defined on this system in /etc/make.conf] peter@beast[1:13am]~src/sbin/dmesg-245> grep BINFORMAT /etc/make.conf #BINFORMAT= elf peter@beast[1:13am]~src/sbin/dmesg-246> grep BINFORMAT /usr/share/mk/* /usr/share/mk/bsd.lib.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.lib.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.lib.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.lib.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.lib.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.prog.mk:.if ${BINFORMAT} == aout /usr/share/mk/bsd.prog.mk:.if ${BINFORMAT} != aout /usr/share/mk/sys.mk:BINFORMAT?= aout peter@beast[1:13am]~src/sbin/dmesg-247> The only thing I can think of is if the 'make install' in share/mk got interrupted somehow and only some of the .mk files got installed.. That goes for both /usr/share/mk or /usr/obj/<srcdir>/tmp/usr/share/mk. A buildworld gets well past that point of failure for me, but fails for other reasons.. (This is a pure ELF system that has not had all the tools integrated yet, and buildworld doesn't like not having 'ld' installed by the bmakefiles into ${DESTDIR} very much..) > jmb > Cheers, -Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708311724.BAA21480>