Hi!
I always thought that ``obj'', ``all'' and ``install'' should be
executed in sequence, not together. Hey, this even does not work
for bin/cat:
$ uname -a
FreeBSD dev.lan.Awfulhak.org 5.0-CURRENT FreeBSD 5.0-CURRENT #7: Wed Apr 18 14:07:56
BST 2001 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/DEV i386
$ make obj
/usr/obj/net/gate/home/ru/cat created for /net/gate/home/ru/cat
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
cc -O -pipe -I/tmp/1/usr/include -c /net/gate/home/ru/cat/cat.c
install -c -s -o ru -g wheel -m 555 cat /tmp/1/bin
install: cat: No such file or directory
*** Error code 71
1 error
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
install -c -s -o ru -g wheel -m 555 cat /tmp/1/bin
install: cat: No such file or directory
*** Error code 71
cc -O -pipe -I/tmp/1/usr/include -o cat cat.o
1 error
$ make -j32 all install -DNOMAN DESTDIR=/tmp/1 BINDIR=/bin BINOWN=ru
install -c -s -o ru -g wheel -m 555 cat /tmp/1/bin
$
OTOH, this seems like a bug in make(1), as the following patch makes
-j32 bootstrap-tools happy in gnu/usr.bin/groff/tmac:
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/groff/tmac/Makefile,v
retrieving revision 1.27
diff -u -r1.27 Makefile
--- Makefile 2001/04/17 12:37:18 1.27
+++ Makefile 2001/04/19 08:01:52
@@ -58,6 +58,7 @@
cd ${.CURDIR}; \
${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
hyphen.us-ru ${DESTDIR}${TMACDIR}
+ cd ${.OBJDIR}
.for f in ${STRIPFILES} ${SPECIALFILES}
${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
$f-s ${DESTDIR}${TMACDIR}/$f
On Thu, Apr 19, 2001 at 10:22:08AM +0700, [EMAIL PROTECTED] wrote:
> In <[EMAIL PROTECTED]> Steve Kargl wrote:
> ........
> > install -C -c -s -o root -g wheel -m 555 tfmtodit /usr/obj/usr/src/i386/usr/bin
> > ===> tmac
> > install -C -c -o root -g wheel -m 444 e.tmac-s
>/usr/obj/usr/src/i386/usr/share/tmac/e.tmac
> > install: e.tmac-s: No such file or directory
> > *** Error code 71
> > 1 error
> >
> > A standard "make buildworld" appears to work.
> >
> > troutmask:kargl[351] grep FreeBSD /usr/src/Makefile.inc1
> > # $FreeBSD: src/Makefile.inc1,v 1.197 2001/04/18 12:20:28 ru Exp $
>
> The next patch allows me to 'make -j32 all install' in
> 'src/gnu/usr.bin/groff/tmac'.
>
> N.Dudorov
>
> Index: Makefile
> ===================================================================
> RCS file: /scratch/CVS/src/gnu/usr.bin/groff/tmac/Makefile,v
> retrieving revision 1.27
> diff -b -u -r1.27 Makefile
> --- Makefile 2001/04/17 12:37:18 1.27
> +++ Makefile 2001/04/19 03:14:14
> @@ -37,7 +37,7 @@
> STRIPFILES= e.tmac doc.tmac mdoc.local
> MDOCFILES= doc-common doc-ditroff doc-nroff doc-syms koi8-r
>
> -all: ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/}
> +all: ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/} ${MAN}
>
> .for f in ${MDOCFILES} ${STRIPFILES}
> $f-s: $f
> @@ -51,6 +51,8 @@
> ${.ALLSRC} > ${.TARGET}
> .endfor
>
> +.ORDER: all beforeinstall
> +
> beforeinstall:
> cd ${DIST_DIR}; \
> ${INSTALL} -c -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> @@ -59,14 +61,17 @@
> ${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> hyphen.us-ru ${DESTDIR}${TMACDIR}
> .for f in ${STRIPFILES} ${SPECIALFILES}
> + cd ${.OBJDIR}; \
> ${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> $f-s ${DESTDIR}${TMACDIR}/$f
> .endfor
> .for f in ${MDOCFILES}
> + cd ${.OBJDIR}; \
> ${INSTALL} ${COPY} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> $f-s ${DESTDIR}${MDOCDIR}/$f
> .endfor
> .if !exists(${DESTDIR}${TMACDIR}/man.local)
> + cd ${.OBJDIR}; \
> ${INSTALL} -c -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
> ${DIST_DIR}/man.local ${DESTDIR}${TMACDIR}
> .endif
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
--
Ruslan Ermilov Oracle Developer/DBA,
[EMAIL PROTECTED] Sunbay Software AG,
[EMAIL PROTECTED] FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message