Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys Build libraries for kernel/standalone code from within t...



details:   https://anonhg.NetBSD.org/src/rev/ef9e840b0547
branches:  trunk
changeset: 472789:ef9e840b0547
user:      drochner <drochner%NetBSD.org@localhost>
date:      Fri May 07 14:28:50 1999 +0000

description:
Build libraries for kernel/standalone code from within their compilation
directories and use .PATH to lookup the source files.
(Formerly, the libs were built from the source dirs, with MAKEOBJDIR
set to the compilation directory.)
This solves 2 problems:
-"mkdep" and "make" are now consistent about the file lookup, this fixes
 bad interactions with amd reported in PR bin/7374 (Arne Juul) and
 lossage reported by Andrew Gillham ("obj" dirs and relative paths still
 don't work well together)
-kernel compile trees can be moved around without forcing a new
 "make depend" - fixing PR kern/4021 by Martin Husemann

diffstat:

 sys/compat/common/Makefile     |   4 +++-
 sys/compat/common/Makefile.inc |  13 +++++++++----
 sys/lib/libkern/Makefile       |   8 +++++---
 sys/lib/libkern/Makefile.inc   |  13 +++++++++----
 sys/lib/libsa/Makefile         |   6 ++++--
 sys/lib/libsa/Makefile.inc     |  13 +++++++++----
 sys/lib/libz/Makefile          |   6 ++++--
 sys/lib/libz/Makefile.inc      |  13 +++++++++----
 8 files changed, 52 insertions(+), 24 deletions(-)

diffs (267 lines):

diff -r 8ceb3712b81e -r ef9e840b0547 sys/compat/common/Makefile
--- a/sys/compat/common/Makefile        Fri May 07 14:00:39 1999 +0000
+++ b/sys/compat/common/Makefile        Fri May 07 14:28:50 1999 +0000
@@ -1,10 +1,12 @@
-#      $NetBSD: Makefile,v 1.22 1999/02/13 02:54:51 lukem Exp $
+#      $NetBSD: Makefile,v 1.23 1999/05/07 14:28:51 drochner Exp $
 
 LIB=   compat
 MKPIC= no
 
 CPPFLAGS=      ${COMPATCPPFLAGS}
 
+.PATH.c: ${COMPATDIR}
+
 # Common compatibility code, used by all emulations
 SRCS=  compat_exec.c compat_util.c
 
diff -r 8ceb3712b81e -r ef9e840b0547 sys/compat/common/Makefile.inc
--- a/sys/compat/common/Makefile.inc    Fri May 07 14:00:39 1999 +0000
+++ b/sys/compat/common/Makefile.inc    Fri May 07 14:28:50 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.14 1998/09/05 15:15:19 lukem Exp $
+#      $NetBSD: Makefile.inc,v 1.15 1999/05/07 14:28:51 drochner Exp $
 #
 #      Configuration variables (default values are below):
 #
@@ -18,8 +18,9 @@
 # Default values:
 COMPATDST?=            ${.OBJDIR}/lib/compat
 COMPAT_AS?=            library
+COMPATDOTDIR?= ../../.
 
-COMPATDIR=             $S/compat/common
+COMPATDIR=             ${S:S@^.@${COMPATDOTDIR}@:Q}/compat/common
 .if (${COMPAT_AS} == "obj")
 COMPATLIB=             ${COMPATDST}/libcompat.o
 COMPATLIB_PROF=        ${COMPATDST}/libcompat.po
@@ -29,7 +30,8 @@
 .endif
 
 COMPATMAKE= \
-       cd ${COMPATDIR} && MAKEOBJDIR=${COMPATDST} ${MAKE} \
+       cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:Q}/Makefile \
+           COMPATDIR=${COMPATDIR:Q} \
            CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
            AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
            AR=${AR:Q} NM=${NM:Q} \
@@ -38,7 +40,7 @@
            RANLIB=${RANLIB:Q} \
            LD=${LD:Q} STRIP=${STRIP:Q} \
            MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
-           COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
+           COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:Q} \
            ${COMPATMISCMAKEFLAGS}
 
 ${COMPATLIB}:          .NOTMAIN __always_make_compatlib
@@ -74,3 +76,6 @@
 
 __always_make_compatlib: .NOTMAIN
        @mkdir -p ${COMPATDST}
+
+.PHONY: __always_make_compatlib
+.PHONY: cleancompatlib cleandircompatlib dependcompatlib
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libkern/Makefile
--- a/sys/lib/libkern/Makefile  Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libkern/Makefile  Fri May 07 14:28:50 1999 +0000
@@ -1,15 +1,17 @@
-#      $NetBSD: Makefile,v 1.51 1999/04/11 22:08:06 gwr Exp $
+#      $NetBSD: Makefile,v 1.52 1999/05/07 14:28:50 drochner Exp $
 
 LIB=   kern
 MKPIC= no
 
 ARCHSUBDIR= ${MACHINE_ARCH:C/mipse[bl]/mips/}
-M= ${.CURDIR}/arch/${ARCHSUBDIR}
+M= ${KERNDIR}/arch/${ARCHSUBDIR}
 
 CPPFLAGS=      -I$M ${KERNCPPFLAGS} ${KERNMISCCPPFLAGS}
 
+.PATH.c: ${KERNDIR}
 .if exists ($M/Makefile.inc)
-.PATH: $M
+.PATH.c: $M
+.PATH.S: $M
 .include "$M/Makefile.inc"
 .endif
 
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libkern/Makefile.inc
--- a/sys/lib/libkern/Makefile.inc      Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libkern/Makefile.inc      Fri May 07 14:28:50 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.30 1998/10/15 18:46:37 drochner Exp $
+#      $NetBSD: Makefile.inc,v 1.31 1999/05/07 14:28:50 drochner Exp $
 #
 #      Configuration variables (default values are below):
 #
@@ -19,8 +19,9 @@
 # Default values:
 KERNDST?=      ${.OBJDIR}/lib/kern
 KERN_AS?=      library
+KERNDOTDIR?= ../../.
 
-KERNDIR=       $S/lib/libkern
+KERNDIR=       ${S:S@^.@${KERNDOTDIR}@:Q}/lib/libkern
 .if (${KERN_AS} == "obj")
 KERNLIB=       ${KERNDST}/libkern.o
 KERNLIB_PROF=  ${KERNDST}/libkern.po
@@ -30,7 +31,8 @@
 .endif
 
 KERNMAKE= \
-       cd ${KERNDIR} && MAKEOBJDIR=${KERNDST} ${MAKE} \
+       cd ${KERNDST} && ${MAKE} -f ${KERNDIR:Q}/Makefile \
+           KERNDIR=${KERNDIR:Q} \
            CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
            AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
            LORDER=${LORDER:Q} \
@@ -39,7 +41,7 @@
            AR=${AR:Q} NM=${NM:Q} \
            RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
            MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
-           KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
+           KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:Q} \
            KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:Q} \
            ${KERNMISCMAKEFLAGS}
 
@@ -76,3 +78,6 @@
 
 __always_make_kernlib: .NOTMAIN
        @(mkdir -p ${KERNDST})
+
+.PHONY: __always_make_kernlib
+.PHONY: cleankernlib cleandirkernlib dependkernlib
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libsa/Makefile
--- a/sys/lib/libsa/Makefile    Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libsa/Makefile    Fri May 07 14:28:50 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.31 1999/04/28 09:08:50 christos Exp $
+#      $NetBSD: Makefile,v 1.32 1999/05/07 14:28:51 drochner Exp $
 
 LIB=   sa
 MKPIC= no
@@ -9,11 +9,13 @@
 SA_USE_LOADFILE?= no
 
 #DEBUGCPPFLAGS= -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG -DRPC_DEBUG -DRARP_DEBUG -DDEBUG -DPARANOID
-CPPFLAGS=      -I. ${SACPPFLAGS} ${SAMISCCPPFLAGS} \
+CPPFLAGS=      -I${SADIR} ${SACPPFLAGS} ${SAMISCCPPFLAGS} \
                -DCOMPAT_UFS ${DEBUGCPPFLAGS}
 
 #COPTS+= -ansi -pedantic -Wall
 
+.PATH.c: ${SADIR}
+
 # stand routines
 SRCS+= alloc.c bcmp.c bcopy.c bzero.c errno.c exit.c exec.c getfile.c gets.c \
        globals.c memcmp.c memcpy.c memset.c panic.c printf.c \
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libsa/Makefile.inc
--- a/sys/lib/libsa/Makefile.inc        Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libsa/Makefile.inc        Fri May 07 14:28:50 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.11 1998/09/05 15:15:19 lukem Exp $
+#      $NetBSD: Makefile.inc,v 1.12 1999/05/07 14:28:51 drochner Exp $
 #
 #      Configuration variables (default values are below):
 #
@@ -19,8 +19,9 @@
 # Default values:
 SADST?=                ${.OBJDIR}/lib/sa
 SA_AS?=                library
+SADOTDIR?= ../../.
 
-SADIR=         $S/lib/libsa
+SADIR=         ${S:S@^.@${SADOTDIR}@:Q}/lib/libsa
 .if (${SA_AS} == "obj")
 SALIB=         ${SADST}/libsa.o
 SALIB_PROF=    ${SADST}/libsa.po
@@ -30,7 +31,8 @@
 .endif
 
 SAMAKE= \
-       cd ${SADIR} && MAKEOBJDIR=${SADST} ${MAKE} \
+       cd ${SADST} && ${MAKE} -f ${SADIR:Q}/Makefile \
+           SADIR=${SADIR:Q} \
            CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
            AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
            LORDER=${LORDER:Q} \
@@ -39,7 +41,7 @@
            AR=${AR:Q} NM=${NM:Q} \
            RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
            MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
-           SACPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
+           SACPPFLAGS=${CPPFLAGS:S@^-I.@-I${SADOTDIR}@g:Q} \
            SAMISCCPPFLAGS=${SAMISCCPPFLAGS:Q} \
            ${SAMISCMAKEFLAGS}
 
@@ -76,3 +78,6 @@
 
 __always_make_salib:   .NOTMAIN
        @mkdir -p ${SADST}
+
+.PHONY: __always_make_salib
+.PHONY: cleansalib cleandirsalib dependsalib
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libz/Makefile
--- a/sys/lib/libz/Makefile     Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libz/Makefile     Fri May 07 14:28:50 1999 +0000
@@ -1,10 +1,12 @@
-#      $NetBSD: Makefile,v 1.9 1999/04/15 02:28:36 simonb Exp $
+#      $NetBSD: Makefile,v 1.10 1999/05/07 14:28:51 drochner Exp $
 
 LIB=   z
 MKPIC= no
 MKPROFILE=no
 
-CPPFLAGS=      -I. ${ZCPPFLAGS} ${ZMISCCPPFLAGS} -D_ZLIB_PRIVATE
+CPPFLAGS=      -I${ZDIR} ${ZCPPFLAGS} ${ZMISCCPPFLAGS} -D_ZLIB_PRIVATE
+
+.PATH.c: ${ZDIR}
 
 # files to be copied down from libz.
 LIBZSRCS= adler32.c crc32.c infblock.c infcodes.c inffast.c \
diff -r 8ceb3712b81e -r ef9e840b0547 sys/lib/libz/Makefile.inc
--- a/sys/lib/libz/Makefile.inc Fri May 07 14:00:39 1999 +0000
+++ b/sys/lib/libz/Makefile.inc Fri May 07 14:28:50 1999 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.5 1998/09/05 15:15:19 lukem Exp $
+#      $NetBSD: Makefile.inc,v 1.6 1999/05/07 14:28:51 drochner Exp $
 #
 #      Configuration variables (default values are below):
 #
@@ -19,8 +19,9 @@
 # Default values:
 ZDST?=         ${.OBJDIR}/lib/z
 Z_AS?=         library
+ZDOTDIR?= ../../.
 
-ZDIR=          $S/lib/libz
+ZDIR=          ${S:S@^.@${ZDOTDIR}@:Q}/lib/libz
 .if (${Z_AS} == "obj")
 ZLIB=          ${ZDST}/libz.o
 ZLIB_PROF=     ${ZDST}/libz.po
@@ -30,7 +31,8 @@
 .endif
 
 ZMAKE= \
-       cd ${ZDIR} && MAKEOBJDIR=${ZDST} ${MAKE} \
+       cd ${ZDST} && ${MAKE} -f ${ZDIR:Q}/Makefile \
+           ZDIR=${ZDIR:Q} \
            CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
            AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
            LORDER=${LORDER:Q} \
@@ -39,7 +41,7 @@
            AR=${AR:Q} NM=${NM:Q} \
            RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
            MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
-           ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
+           ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I${ZDOTDIR}@g:Q} \
            ZMISCCPPFLAGS=${ZMISCCPPFLAGS:Q} \
            ${ZMISCMAKEFLAGS}
 
@@ -76,3 +78,6 @@
 
 __always_make_zlib:    .NOTMAIN
        @mkdir -p ${ZDST}
+
+.PHONY: __always_make_zlib
+.PHONY: cleanzlib cleandirzlib dependzlib



Home | Main Index | Thread Index | Old Index