svn commit: r283585 - projects/bmake/share/mk
Simon J. Gerraty
sjg at FreeBSD.org
Tue May 26 21:41:28 UTC 2015
Author: sjg
Date: Tue May 26 21:41:26 2015
New Revision: 283585
URL: https://svnweb.freebsd.org/changeset/base/283585
Log:
Define SRCTOP in src.sys.mk
Use SRCTOP to replace .../ in MAKSYSPATH (avoid extra :tA)
Use SRCTOP rather than ROOTSRCDIR in src.libnames.mk
Merge from head
Modified:
projects/bmake/share/mk/src.libnames.mk
projects/bmake/share/mk/src.opts.mk
projects/bmake/share/mk/src.sys.mk
Modified: projects/bmake/share/mk/src.libnames.mk
==============================================================================
--- projects/bmake/share/mk/src.libnames.mk Tue May 26 21:16:07 2015 (r283584)
+++ projects/bmake/share/mk/src.libnames.mk Tue May 26 21:41:26 2015 (r283585)
@@ -7,56 +7,363 @@
.error src.libnames.mk cannot be included directly.
.endif
-.if defined(OBJTOP)
-ROOTOBJDIR= ${OBJTOP}
+.include <src.opts.mk>
+
+.if defined(MAKEOBJDIRPREFIX) && ${.OBJDIR:M${MAKEOBJDIRPREFIX}/*} != ""
+ROOTOBJDIR= ${.OBJDIR:S/${.CURDIR}//}${SRCTOP}
+.elif defined(OBJTOP) && ${.OBJDIR:M${OBJTOP}*} != ""
+ROOTOBJDIR= ${OBJTOP}
+.endif
+
+_PRIVATELIBS= \
+ atf_c \
+ atf_cxx \
+ bsdstat \
+ event \
+ heimipcc \
+ heimipcs \
+ ldns \
+ sqlite3 \
+ ssh \
+ ucl \
+ unbound
+
+_INTERNALLIBS= \
+ amu \
+ bsnmptools \
+ cron \
+ elftc \
+ fifolog \
+ ipf \
+ lpr \
+ netbsd \
+ ntp \
+ ntpevent \
+ ohash \
+ opts \
+ parse \
+ readline \
+ sl \
+ sm \
+ smdb \
+ smutil \
+ telnet \
+ vers
+
+_LIBRARIES= \
+ ${_PRIVATELIBS} \
+ ${_INTERNALLIBS} \
+ alias \
+ archive \
+ asn1 \
+ auditd \
+ begemot \
+ bluetooth \
+ bsdxml \
+ bsm \
+ bsnmp \
+ bz2 \
+ c \
+ c_pic \
+ calendar \
+ cam \
+ capsicum \
+ casper \
+ com_err \
+ compiler_rt \
+ crypt \
+ crypto \
+ ctf \
+ cuse \
+ cxxrt \
+ devctl \
+ devinfo \
+ devstat \
+ dialog \
+ dpv \
+ dtrace \
+ dwarf \
+ edit \
+ elf \
+ execinfo \
+ fetch \
+ figpar \
+ geom \
+ gnuregex \
+ gpio \
+ gssapi \
+ gssapi_krb5 \
+ hdb \
+ heimbase \
+ heimntlm \
+ heimsqlite \
+ hx509 \
+ ipsec \
+ jail \
+ kadm5clnt \
+ kadm5srv \
+ kafs5 \
+ kdc \
+ kiconv \
+ krb5 \
+ kvm \
+ l \
+ lzma \
+ m \
+ magic \
+ md \
+ memstat \
+ mp \
+ mt \
+ nandfs \
+ ncurses \
+ ncursesw \
+ netgraph \
+ ngatm \
+ nv \
+ opie \
+ pam \
+ pcap \
+ pcsclite \
+ pjdlog \
+ pmc \
+ proc \
+ procstat \
+ pthread \
+ radius \
+ readline \
+ roken \
+ rpcsec_gss \
+ rpcsvc \
+ rt \
+ rtld_db \
+ sbuf \
+ sdp \
+ sm \
+ smb \
+ ssl \
+ ssp_nonshared \
+ stdthreads \
+ supcplusplus \
+ tacplus \
+ termcapw \
+ ufs \
+ ugidfw \
+ ulog \
+ usb \
+ usbhid \
+ util \
+ vmmapi \
+ wind \
+ wrap \
+ xo \
+ y \
+ ypclnt \
+ z
+
+_DP_archive= z bz2 lzma bsdxml
+.if ${MK_OPENSSL} != "no"
+_DP_archive+= crypto
+.else
+_DP_archive+= md
+.endif
+_DP_ssl= crypto
+_DP_ssh= crypto crypt
+.if ${MK_LDNS} != "no"
+_DP_ssh+= ldns z
+.endif
+_DP_edit= ncursesw
+.if ${MK_OPENSSL} != "no"
+_DP_bsnmp= crypto
+.endif
+_DP_geom= bsdxml sbuf
+_DP_cam= sbuf
+_DP_casper= capsicum nv pjdlog
+_DP_capsicum= nv
+_DP_pjdlog= util
+_DP_opie= md
+_DP_usb= pthread
+_DP_unbound= pthread
+_DP_rt= pthread
+.if ${MK_OPENSSL} == "no"
+_DP_radius= md
+.else
+_DP_radius= crypto
+.endif
+_DP_procstat= kvm util elf
+.if ${MK_CXX} == "yes"
+.if ${MK_LIBCPLUSPLUS} != "no"
+_DP_proc= cxxrt
+.else
+_DP_proc= supcplusplus
+.endif
+.endif
+.if ${MK_CDDL} != "no"
+_DP_proc+= ctf
+.endif
+_DP_mp= crypto
+_DP_memstat= kvm
+_DP_magic= z
+_DP_mt= bsdxml
+_DP_ldns= crypto
+.if ${MK_OPENSSL} != "no"
+_DP_fetch= ssl crypto
.else
-ROOTOBJDIR= ${.OBJDIR:S/${.CURDIR}//}${.MAKE.MAKEFILES:M*/src.libnames.mk:H:H:H}
+_DP_fetch= md
+.endif
+_DP_execinfo= elf
+_DP_dwarf= elf
+_DP_dpv= dialog figpar util
+_DP_dialog= ncursesw m
+_DP_cuse= pthread
+_DP_atf_cxx= atf_c
+_DP_devstat= kvm
+_DP_pam= radius tacplus opie md util
+.if ${MK_KERBEROS} != "no"
+_DP_pam+= krb5
+.endif
+.if ${MK_OPENSSH} != "no"
+_DP_pam+= ssh
+.endif
+.if ${MK_NIS} != "no"
+_DP_pam+= ypclnt
+.endif
+_DP_krb5+= asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc \
+ pthread
+_DP_gssapi_krb5+= gssapi krb5 crypto roken asn1 com_err
+_DP_lzma= pthread
+_DP_ucl= m
+_DP_vmmapi= util
+_DP_ctf= z
+_DP_proc= rtld_db util
+_DP_dtrace= rtld_db pthread
+
+# Define spacial cases
+LDADD_supcplusplus= -lsupc++
+LIBATF_C= ${DESTDIR}${LIBDIR}/libprivateatf-c.a
+LIBATF_CXX= ${DESTDIR}${LIBDIR}/libprivateatf-c++.a
+LDADD_atf_c= -lprivateatf-c
+LDADD_atf_cxx= -lprivateatf-c++
+
+.for _l in ${_PRIVATELIBS}
+LIB${_l:tu}?= ${DESTDIR}${LIBDIR}/libprivate${_l}.a
+.endfor
+
+.for _l in ${_LIBRARIES}
+.if ${_INTERNALLIBS:M${_l}}
+LDADD_${_l}_L+= -L${LIB${_l:tu}DIR}
.endif
+DPADD_${_l}?= ${LIB${_l:tu}}
+.if ${_PRIVATELIBS:M${_l}}
+LDADD_${_l}?= -lprivate${_l}
+.else
+LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l}
+.endif
+.if defined(_DP_${_l}) && defined(NO_SHARED)
+.for _d in ${_DP_${_l}}
+DPADD_${_l}+= ${DPADD_${_d}}
+LDADD_${_l}+= ${LDADD_${_d}}
+.endfor
+.endif
+.endfor
-LIBATF_CDIR= ${ROOTOBJDIR}/lib/atf/libatf-c
-LDATF_C?= ${LIBATF_CDIR}/libatf-c.so
-LIBATF_C?= ${LIBATF_CDIR}/libatf-c.a
+DPADD_atf_cxx+= ${DPADD_atf_c}
+LDADD_atf_cxx+= ${LDADD_atf_c}
-LIBATF_CXXDIR= ${ROOTOBJDIR}/lib/atf/libatf-c++
-LDATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++.so
-LIBATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++.a
+DPADD_sqlite3+= ${DPADD_pthread}
+LDADD_sqlite3+= ${LDADD_pthread}
-LIBBSDSTATDIR= ${ROOTOBJDIR}/lib/libbsdstat
-LDBSDSTAT?= ${LIBBSDSTATDIR}/libbsdstat.so
-LIBBSDSTAT?= ${LIBBSDSTATDIR}/libbsdstat.a
+DPADD_fifolog+= ${DPADD_z}
+LDADD_fifolog+= ${LDADD_z}
+
+DPADD_ipf+= ${DPADD_kvm}
+LDADD_ipf+= ${LDADD_kvm}
+
+DPADD_mt+= ${DPADD_sbuf}
+LDADD_mt+= ${LDADD_sbuf}
+
+DPADD_dtrace+= ${DPADD_ctf} ${DPADD_elf} ${DPADD_proc}
+LDADD_dtrace+= ${LDADD_ctf} ${LDADD_elf} ${LDADD_proc}
+
+# The following depends on libraries which are using pthread
+DPADD_hdb+= ${DPADD_pthread}
+LDADD_hdb+= ${LDADD_pthread}
+DPADD_kadm5srv+= ${DPADD_pthread}
+LDADD_kadm5srv+= ${LDADD_pthread}
+DPADD_krb5+= ${DPADD_pthread}
+LDADD_krb5+= ${LDADD_pthread}
+DPADD_gssapi_krb5+= ${DPADD_pthread}
+LDADD_gssapi_krb5+= ${LDADD_pthread}
+
+.for _l in ${LIBADD}
+.if ${_PRIVATELIBS:M${_l}}
+USEPRIVATELIB+= ${_l}
+.endif
+DPADD+= ${DPADD_${_l}:Umissing-dpadd_${_l}}
+LDADD+= ${LDADD_${_l}}
+.endfor
-LIBEVENTDIR= ${ROOTOBJDIR}/lib/libevent
-LDEVENT?= ${LIBEVENTDIR}/libevent.so
-LIBEVENT?= ${LIBEVENTDIR}/libevent.a
+.if defined(DPADD) && ${DPADD:Mmissing-dpadd_*}
+.error Missing ${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/DPADD_/} variable add "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//}" to _LIBRARIES, _INTERNALLIBS, or _PRIVATELIBS and define "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/LIB/:tu}".
+.endif
-LIBHEIMIPCCDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcc
-LDHEIMIPCC?= ${LIBHEIMIPCCDIR}/libheimipcc.so
-LIBHEIMIPCC?= ${LIBHEIMIPCCDIR}/libheimipcc.a
+LIBELFTCDIR= ${ROOTOBJDIR}/lib/libelftc
+LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
-LIBHEIMIPCSDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcs
-LDHEIMIPCS?= ${LIBHEIMIPCSDIR}/libheimipcs.so
-LIBHEIMIPCS?= ${LIBHEIMIPCSDIR}/libheimipcs.a
+LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
+LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a
-LIBLDNSDIR= ${ROOTOBJDIR}/lib/libldns
-LDLDNS?= ${LIBLDNSDIR}/libldns.so
-LIBLDNS?= ${LIBLDNSDIR}/libldns.a
+LIBOHASHDIR= ${ROOTOBJDIR}/lib/libohash
+LIBOHASH?= ${LIBOHASHDIR}/libohash.a
-LIBSSHDIR= ${ROOTOBJDIR}/secure/lib/libssh
-LDSSH?= ${LIBSSHDIR}/libssh.so
-LIBSSH?= ${LIBSSHDIR}/libssh.a
+LIBSMDIR= ${ROOTOBJDIR}/lib/libsm
+LIBSM?= ${LIBSMDIR}/libsm.a
-LIBUNBOUNDDIR= ${ROOTOBJDIR}/lib/libunbound
-LDUNBOUND?= ${LIBUNBOUNDDIR}/libunbound.so
-LIBUNBOUND?= ${LIBUNBOUNDDIR}/libunbound.a
+LIBSMDBDIR= ${ROOTOBJDIR}/lib/libsmdb
+LIBSMDB?= ${LIBSMDBDIR}/libsmdb.a
-LIBUCLDIR= ${ROOTOBJDIR}/lib/libucl
-LDUCL?= ${LIBUCLDIR}/libucl.so
-LIBUCL?= ${LIBUCLDIR}/libucl.a
+LIBSMUTILDIR= ${ROOTOBJDIR}/lib/libsmutil
+LIBSMUTIL?= ${LIBSMDBDIR}/libsmutil.a
-LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
-LDREADLINE?= ${LIBREADLINEDIR}/libreadline.a
-LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a
+LIBNETBSDDIR?= ${ROOTOBJDIR}/lib/libnetbsd
+LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd.a
+
+LIBVERSDIR?= ${ROOTOBJDIR}/kerberos5/lib/libvers
+LIBVERS?= ${LIBVERSDIR}/libvers.a
+
+LIBSLDIR= ${ROOTOBJDIR}/kerberos5/lib/libsl
+LIBSL?= ${LIBSLDIR}/libsl.a
+
+LIBIPFDIR= ${ROOTOBJDIR}/sbin/ipf/libipf
+LIBIPF?= ${LIBIPFDIR}/libipf.a
+
+LIBTELNETDIR= ${ROOTOBJDIR}/lib/libtelnet
+LIBTELNET?= ${LIBIPFDIR}/libtelnet.a
+
+LIBCRONDIR= ${ROOTOBJDIR}/usr.sbin/cron/lib
+LIBCRON?= ${LIBCRONDIR}/libcron.a
+
+LIBNTPDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libntp
+LIBNTP?= ${LIBNTPDIR}/libntp.a
+
+LIBNTPEVENTDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libntpevent
+LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent.a
+
+LIBOPTSDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libopts
+LIBOTPS?= ${LIBOPTSDIR}/libopts.a
+
+LIBPARSEDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libparse
+LIBPARSE?= ${LIBPARSEDIR}/libparse.a
+
+LIBLPRDIR= ${ROOTOBJDIR}/usr.sbin/lpr/common_source
+LIBLPR?= ${LIBOPTSDIR}/liblpr.a
+
+LIBFIFOLOGDIR= ${ROOTOBJDIR}/usr.sbin/fifolog/lib
+LIBFIFOLOG?= ${LIBOPTSDIR}/libfifolog.a
+
+LIBBSNMPTOOLSDIR= ${ROOTOBJDIR}/usr.sbin/bsnmpd/tools/libbsnmptools
+LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a
+
+LIBAMUDIR= ${ROOTOBJDIR}/usr.sbin/amd/libamu
+LIBAMU?= ${LIBAMUDIR}/libamu/libamu.a
-LIBOHASHDIR= ${ROOTOBJDIR}/lib/libohash
-LDOHASH?= ${LIBOHASHDIR}/libohash.a
-LIBOHASH?= ${LIBOHASHDIR}/libohash.a
Modified: projects/bmake/share/mk/src.opts.mk
==============================================================================
--- projects/bmake/share/mk/src.opts.mk Tue May 26 21:16:07 2015 (r283584)
+++ projects/bmake/share/mk/src.opts.mk Tue May 26 21:41:26 2015 (r283585)
@@ -11,7 +11,7 @@
# are exceptions). Recursive makes usually add MK_FOO=no for options that they wish
# to omit from that make.
#
-# Makefiles must include bsd.srcpot.mk before they test the value of any MK_FOO
+# Makefiles must include bsd.mkopt.mk before they test the value of any MK_FOO
# variable.
#
# Makefiles may also assume that this file is included by src.opts.mk should it
@@ -52,16 +52,22 @@ __DEFAULT_YES_OPTIONS = \
ATM \
AUDIT \
AUTHPF \
+ AUTOFS \
+ BHYVE \
BINUTILS \
BINUTILS_BOOTSTRAP \
BLUETOOTH \
BOOT \
+ BOOTPARAMD \
+ BOOTPD \
BSD_CPIO \
+ BSDINSTALL \
BSNMP \
BZIP2 \
CALENDAR \
CAPSICUM \
CASPER \
+ CCD \
CDDL \
CPP \
CROSS_COMPILER \
@@ -73,29 +79,36 @@ __DEFAULT_YES_OPTIONS = \
DMAGENT \
DYNAMICROOT \
ED_CRYPTO \
+ EE \
+ ELFTOOLCHAIN_TOOLS \
EXAMPLES \
FDT \
+ FILE \
+ FINGER \
FLOPPY \
FMTREE \
FORTH \
FP_LIBC \
FREEBSD_UPDATE \
+ FTP \
GAMES \
GCOV \
GDB \
GNU \
GNU_GREP_COMPAT \
- GPIB \
GPIO \
GPL_DTC \
GROFF \
+ HAST \
HTML \
HYPERV \
ICONV \
INET \
INET6 \
+ INETD \
IPFILTER \
IPFW \
+ ISCSI \
JAIL \
KDUMP \
KVM \
@@ -128,7 +141,9 @@ __DEFAULT_YES_OPTIONS = \
PORTSNAP \
PPP \
QUOTAS \
+ RADIUS_SUPPORT \
RCMDS \
+ RBOOTD \
RCS \
RESCUE \
ROUTED \
@@ -139,13 +154,16 @@ __DEFAULT_YES_OPTIONS = \
SOURCELESS_HOST \
SOURCELESS_UCODE \
SVNLITE \
- SYSCALL_COMPAT \
SYSCONS \
SYSINSTALL \
+ TALK \
+ TCP_WRAPPERS \
TCSH \
TELNET \
TESTS \
TEXTPROC \
+ TFTP \
+ TIMED \
UNBOUND \
USB \
UTMPX \
@@ -169,9 +187,8 @@ __DEFAULT_NO_OPTIONS = \
OPENSSH_NONE_CIPHER \
SHARED_TOOLCHAIN \
SORT_THREADS \
- SVN \
STALE_STAGED \
- SYSROOT
+ SVN
#
# Default behaviour of some options depends on the architecture. Unfortunately
@@ -192,25 +209,36 @@ __TT=${TARGET}
.else
__TT=${MACHINE}
.endif
-# Clang is only for x86, powerpc and little-endian arm right now, by default.
-.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*}
-__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL CLANG_BOOTSTRAP
-.elif ${__TT} == "arm" && ${__T:Marm*eb*} == ""
-__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP
-# GCC is unable to build the full clang on arm, disable it by default.
-__DEFAULT_NO_OPTIONS+=CLANG_FULL
-.else
-__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL CLANG_BOOTSTRAP
-.endif
-# Clang the default system compiler only on little-endian arm and x86.
-.if ${__T} == "amd64" || (${__TT} == "arm" && ${__T:Marm*eb*} == "") || \
- ${__T} == "i386"
-__DEFAULT_YES_OPTIONS+=CLANG_IS_CC
+
+.include <bsd.compiler.mk>
+.if !${COMPILER_FEATURES:Mc++11}
+# If the compiler is not C++11 capable, disable clang and use gcc instead.
+__DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
+__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC
+.elif ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386"
+# On x86 and arm64, clang is enabled, and will be installed as the default cc.
+__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC
__DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
+.elif ${__TT} == "arm" && ${__T:Marm*eb*} == ""
+# On little-endian arm, clang is enabled, and it is installed as the default
+# cc, but since gcc is unable to build the full clang, disable it by default.
+__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC
+__DEFAULT_NO_OPTIONS+=CLANG_FULL GCC GCC_BOOTSTRAP GNUCXX
+.elif ${__T:Mpowerpc*}
+# On powerpc, clang is enabled, but gcc is installed as the default cc.
+__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL GCC GCC_BOOTSTRAP GNUCXX
+__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC
.else
-# If clang is not cc, then build gcc by default
-__DEFAULT_NO_OPTIONS+=CLANG_IS_CC CLANG CLANG_BOOTSTRAP
+# Everything else disables clang, and uses gcc instead.
__DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
+__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC
+.endif
+.if ${__T} == "aarch64"
+BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB
+.endif
+# LLVM lacks support for FreeBSD 64-bit atomic operations for ARMv4/ARMv5
+.if ${__T} == "arm" || ${__T} == "armeb"
+BROKEN_OPTIONS+=LLDB
.endif
.include <bsd.mkopt.mk>
@@ -218,7 +246,6 @@ __DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP
#
# MK_* options that default to "yes" if the compiler is a C++11 compiler.
#
-.include <bsd.compiler.mk>
.for var in \
LIBCPLUSPLUS
.if !defined(MK_${var})
Modified: projects/bmake/share/mk/src.sys.mk
==============================================================================
--- projects/bmake/share/mk/src.sys.mk Tue May 26 21:16:07 2015 (r283584)
+++ projects/bmake/share/mk/src.sys.mk Tue May 26 21:41:26 2015 (r283585)
@@ -5,9 +5,22 @@
# to preserve historical (and useful) behavior. Changes here need to
# be reflected there so SRCCONF isn't included multiple times.
+# make sure this is defined in a consistent manner
+SRCTOP:= ${.PARSEDIR:tA:H:H}
+
# Allow user to configure things that only effect src tree builds.
SRCCONF?= /etc/src.conf
.if (exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf") && !target(_srcconf_included_)
.sinclude "${SRCCONF}"
_srcconf_included_: .NOTMAIN
.endif
+# If we were found via .../share/mk we need to replace that in
+# with ${SRCTOP} so that we can be found by
+# sub-makes launched from objdir.
+.if ${.MAKEFLAGS:M.../share/mk} != ""
+.MAKEFLAGS:= ${.MAKEFLAGS:S,.../share/mk,${SRCTOP}/share/mk,}
+.endif
+.if ${MAKESYSPATH:Uno:M*.../*} != ""
+MAKESYSPATH:= ${MAKESYSPATH:S,.../share/mk,${SRCTOP}/share/mk,}
+.export MAKESYSPATH
+.endif
More information about the svn-src-projects
mailing list