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>
