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>
index | next in thread | raw e-mail
>> 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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705011752.DAA19281>
