Subject: misc/6810: 1.3.3 top-level Makefile does not work as it was apparently intended to
To: None <gnats-bugs@gnats.netbsd.org>
From: None <woods@proven.weird.com>
List: netbsd-bugs
Date: 01/14/1999 17:24:34
>Number: 6810
>Category: misc
>Synopsis: 1.3.3 top-level Makefile does not work as it was apparently intended to
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: misc-bug-people (Misc Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jan 14 14:35:01 1999
>Last-Modified:
>Originator: Greg A. Woods
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Release: NetBSD-1.3.3
>Environment:
System: NetBSD becoming 1.3.3 NetBSD 1.3.3 (BECOMING) #1: Wed Dec 30 19:15:12 PST 1998 woods@becoming:/proven/work/woods/NetBSD-1.3/sys/arch/i386/compile/BECOMING i386
>Description:
Building a "domestic" 1.3.3 system from source fails if the
compilation system has not had the "security" set installed,
though from the looks of the first-hack attempt in the top-level
Makefile, this should not be the case.
FYI this was the only glitch I encoutered when building on i386.
>How-To-Repeat:
run something like "make DESTDIR=/not-the-root/directory build"
in the 1.3.3 source directory on a 1.3.3 system that does not
have the security "set" installed and observe the quick failure.
>Fix:
There's probably a better way to build and use tools necessary
as pre-requisites to building the rest of the system, but the
following hack seems to do the trick. Ideally "compile_et" and
"mk_cmds" should be installed in all systems, not just
"domestic" systems, and then this chicken&egg-like dilema would
not rear its ugly head. I'm not sure what approach the -current
build system uses because I have yet to test it under these
circumstances....
The ultimate solution is to eliminate recursive makes..... ;-)
Index: Makefile
===================================================================
RCS file: /cvs/NetBSD-1.3/Makefile,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 Makefile
--- Makefile 1998/12/24 07:13:37 1.1.1.2
+++ Makefile 1999/01/14 22:06:13
@@ -48,15 +48,17 @@
(cd ${.CURDIR}/share/mk && ${MAKE} install)
(cd ${.CURDIR}/share/tmac && ${MAKE} && ${MAKE} install)
.if exists(domestic) && !defined (EXPORTABLE_SYSTEM)
+ # this is a quick hack to ensure these utilities are up-to-date
+ # in the host's compilation system (don't cross-compile them!)...
.if exists(domestic/usr.bin/compile_et)
(cd ${.CURDIR}/domestic/usr.bin/compile_et && \
- ${MAKE} depend && ${MAKE} && \
- ${MAKE} install)
+ ${MAKE} DESTDIR=/ depend && ${MAKE} DESTDIR=/ && \
+ ${MAKE} DESTDIR=/ install-nodepend)
.endif
.if exists(domestic/usr.bin/make_cmds)
(cd ${.CURDIR}/domestic/usr.bin/make_cmds && \
- ${MAKE} depend && ${MAKE} && \
- ${MAKE} install)
+ ${MAKE} DESTDIR=/ depend && ${MAKE} DESTDIR=/ && \
+ ${MAKE} DESTDIR=/ install-nodepend)
.endif
.endif
${MAKE} includes
Index: domestic/usr.bin/compile_et/Makefile
===================================================================
RCS file: /cvs/NetBSD-1.3/domestic/usr.bin/compile_et/Makefile,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile
--- domestic/usr.bin/compile_et/Makefile 1998/12/24 06:48:57 1.1.1.1
+++ domestic/usr.bin/compile_et/Makefile 1999/01/13 22:26:24
@@ -10,4 +10,7 @@
DPADD+= ${LIBL}
LDADD+= -ll
+install-nodepend:
+ ${INSTALL} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+
.include <bsd.prog.mk>
Index: domestic/usr.bin/make_cmds/Makefile
===================================================================
RCS file: /cvs/NetBSD-1.3/domestic/usr.bin/make_cmds/Makefile,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile
--- domestic/usr.bin/make_cmds/Makefile 1998/12/24 06:48:58 1.1.1.1
+++ domestic/usr.bin/make_cmds/Makefile 1999/01/13 22:27:37
@@ -14,4 +14,7 @@
LDADD+= -ll
DPADD+= ${LIBL}
+install-nodepend:
+ ${INSTALL} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+
.include <bsd.prog.mk>
>Audit-Trail:
>Unformatted: