Date: Fri, 2 May 1997 03:52:42 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, jkh@time.cdrom.com Cc: bde@freebsd.org, current@freebsd.org Subject: Re: -current build is now broken.. Message-ID: <199705011752.DAA19281@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> Apparently your src/Makefile is out of date, or your /usr/share/sys/*.mk >> are inconsistent with the src tree. Current versions of *.mk can't be >> used to build old releases. > >Nope - this is all checked out of a current CVS repository. The >release build checks out the entire tree, chroots into it and does a >make world (which quickly and early on builds and installs the *.mk >files). Nope - first it populates the chroot tree using: cd ${.CURDIR}/.. && ${MAKE} install DESTDIR=${CHROOTDIR} NOMAN=1 Apparently your /usr/share/sys/*.mk are inconsistent with ${.CURDIR}/../Makefile :-). This can be fixed using something like cd ${.CURDIR}/.. && ${MAKE} -m ${.CURDIR}/../share/mk install \ DESTDIR=${CHROOTDIR} NOINFO=1 NOMAN=1 NOINFO=1 saves time and would probably have fixed the current problem. --- src/Makefile should use -m instead of not so quickly installing *.mk: diff -c2 src/Makefile~ src/Makefile *** Makefile~ Fri May 2 00:16:46 1997 --- Makefile Fri May 2 01:41:51 1997 *************** *** 33,36 **** --- 33,37 ---- # obj depend all install clean cleandepend cleanobj + .MAKEFLAGS:= -m ${.CURDIR}/share/mk # Put initial settings here. *************** *** 155,163 **** @echo @echo "--------------------------------------------------------------" - @echo " Rebuilding /usr/share/mk" - @echo "--------------------------------------------------------------" - cd ${.CURDIR} && ${MAKE} mk - @echo - @echo "--------------------------------------------------------------" @echo " Cleaning up the source tree" @echo "--------------------------------------------------------------" --- 156,159 ---- *************** *** 250,258 **** @echo @echo "--------------------------------------------------------------" - @echo " Rebuilding /usr/share/mk" - @echo "--------------------------------------------------------------" - cd ${.CURDIR} && ${MAKE} mk - @echo - @echo "--------------------------------------------------------------" @echo " Installing everything.." @echo "--------------------------------------------------------------" --- 246,249 ---- *************** *** 357,366 **** hierarchy: cd ${.CURDIR}/etc && ${MAKE} distrib-dirs - - # - # mk - update the /usr/share/mk makefiles. - # - mk: - cd ${.CURDIR}/share/mk && ${MAKE} install # --- 348,351 ---- This fixes `make <anything>' in the top-level src directory when the installed *.mk files are not too inconsistent. The have to be correct enough for src/Makefile to be interpreted correctly. In particular, sys.mk, bsd.own.mk and bsd.subdir.mk have to be installed. There is no way to change the include path in time for a Makefile to affect its own includes. -m must be used on the command line to avoid using the default `mk' files. This is most annoying for src/Makefile and leaf Makefiles. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705011752.DAA19281>