Re: Remove absolute symlink in $MAKEOBJDIR

From: Bruce Evans <bde_at_zeta.org.au>
Date: Mon, 2 Jun 2003 20:08:43 +1000 (EST)
On Mon, 2 Jun 2003, Jun Kuriyama wrote:

> In usual buildworld, we have absolute symbolic links in $MAKEOBJDIR.
> This causes built $MAKEOBJDIR can use to install the world on other
> boxen only if same /usr/src (or etc.) location and same $MAKEOBJDIR.
>
> I'm using this patch for months to avoid this situation.
>
> (1) Copy man pages rather than absolute symlinks.

As marcel pointed out, there are technical reasons for not using cp.
Use cat.

> (2) Use correct dependency in sys/boot/i386/kgzldr.

This is too hackish for me.  Try using the same method as for lib/csu.
I think you nmainly care about "make install" building things.  This is
from longstanding brokenness of installation of man pages which was
cloned to brokenness of installation of FILES.

> Index: sys/boot/i386/kgzldr/Makefile
> ===================================================================
> RCS file: /home/ncvs/src/sys/boot/i386/kgzldr/Makefile,v
> retrieving revision 1.12
> diff -u -r1.12 Makefile
> --- sys/boot/i386/kgzldr/Makefile	30 Sep 2002 20:37:57 -0000	1.12
> +++ sys/boot/i386/kgzldr/Makefile	24 Jan 2003 07:01:52 -0000
> ...
> _at__at_ -15,7 +17,9 _at__at_
>  BOOT_COMCONSOLE_PORT?=	0x3f8
>  AFLAGS+=--defsym SIO_PRT=${BOOT_COMCONSOLE_PORT}
>
> -kgzldr.o: ${OBJS}
> -	${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS}
> +.if target(${PROG})
> +CFLAGS=	${LDFLAGS}
> +LDADD=
> +.endif
>
>  .include <bsd.prog.mk>

Especially-hackish part :-).

Setting LDADD is not needed.

The boot Makefiles already have too many abuses of PROG for non-programs
and/or non-primary targets.

Bruce
Received on Mon Jun 02 2003 - 01:08:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:10 UTC