summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2015-11-07 11:02:33 +0000
committerbapt <bapt@FreeBSD.org>2015-11-07 11:02:33 +0000
commit41e30bab0f71e46748531a3e41f2837349a21f1a (patch)
tree0fd2d3a4c334f196b901e4e32fd6cc566b269fa5 /share/mk
parent1f0016890f772d6be4ffc3faff26931611d4feae (diff)
parentc2f5f67bd969f6441e91fc8cb611561eaef8426c (diff)
downloadFreeBSD-src-41e30bab0f71e46748531a3e41f2837349a21f1a.zip
FreeBSD-src-41e30bab0f71e46748531a3e41f2837349a21f1a.tar.gz
Merge from head r290483
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.dep.mk23
-rw-r--r--share/mk/bsd.lib.mk2
-rw-r--r--share/mk/bsd.opts.mk1
-rw-r--r--share/mk/bsd.own.mk2
-rw-r--r--share/mk/bsd.prog.mk8
-rw-r--r--share/mk/local.init.mk2
-rw-r--r--share/mk/src.init.mk11
-rw-r--r--share/mk/src.libnames.mk6
8 files changed, 44 insertions, 11 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index 965f703..8cc814d 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -54,6 +54,18 @@ MKDEPCMD?= CC='${CC} ${DEPFLAGS}' mkdep
MKDEPCMD?= mkdep
.endif
DEPENDFILE?= .depend
+DEPENDFILES= ${DEPENDFILE}
+.if ${MK_FAST_DEPEND} == "yes"
+DEPENDFILES+= ${DEPENDFILE}.*
+DEPEND_CFLAGS+= -MD -MP -MF${DEPENDFILE}.${.TARGET}
+DEPEND_CFLAGS+= -MT${.TARGET}
+CFLAGS+= ${DEPEND_CFLAGS}
+DEPENDOBJS+= ${OBJS} ${POBJS} ${SOBJS}
+.for __obj in ${DEPENDOBJS:O:u}
+.sinclude "${DEPENDFILE}.${__obj}"
+DEPENDFILES_OBJS+= ${DEPENDFILE}.${__obj}
+.endfor
+.endif # ${MK_FAST_DEPEND} == "yes"
# Keep `tags' here, before SRCS are mangled below for `depend'.
.if !target(tags) && defined(SRCS) && !defined(NO_TAGS)
@@ -161,7 +173,7 @@ afterdepend: beforedepend
depend: beforedepend ${DEPENDFILE} afterdepend
# Tell bmake not to look for generated files via .PATH
-.NOPATH: ${DEPENDFILE}
+.NOPATH: ${DEPENDFILE} ${DEPENDFILES_OBJS}
# Different types of sources are compiled with slightly different flags.
# Split up the sources, and filter out headers and non-applicable flags.
@@ -172,6 +184,7 @@ MKDEP_CXXFLAGS= ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BIDU]*} \
DPSRCS+= ${SRCS}
${DEPENDFILE}: ${DPSRCS}
+.if ${MK_FAST_DEPEND} == "no"
rm -f ${DEPENDFILE}
.if !empty(DPSRCS:M*.[cS])
${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
@@ -182,7 +195,11 @@ ${DEPENDFILE}: ${DPSRCS}
${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
${MKDEP_CXXFLAGS} \
${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cpp} ${.ALLSRC:M*.cxx}
+.else
.endif
+.else
+ : > ${.TARGET}
+.endif # ${MK_FAST_DEPEND} == "no"
.if target(_EXTRADEPEND)
_EXTRADEPEND: .USE
${DEPENDFILE}: _EXTRADEPEND
@@ -207,12 +224,12 @@ afterdepend:
cleandepend:
.if defined(SRCS)
.if ${CTAGS:T} == "gtags"
- rm -f ${DEPENDFILE} GPATH GRTAGS GSYMS GTAGS
+ rm -f ${DEPENDFILES} GPATH GRTAGS GSYMS GTAGS
.if defined(HTML)
rm -rf HTML
.endif
.else
- rm -f ${DEPENDFILE} tags
+ rm -f ${DEPENDFILES} tags
.endif
.endif
.endif
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index e906ab7..579e36c 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -305,10 +305,12 @@ all: _manpages
.endif
_EXTRADEPEND:
+.if ${MK_FAST_DEPEND} == "no"
@TMP=_depend$$$$; \
sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
> $$TMP; \
mv $$TMP ${DEPENDFILE}
+.endif
.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME)
.if defined(DPADD) && !empty(DPADD)
echo ${SHLIB_NAME_FULL}: ${DPADD} >> ${DEPENDFILE}
diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk
index 88f5196..a1f4cce 100644
--- a/share/mk/bsd.opts.mk
+++ b/share/mk/bsd.opts.mk
@@ -66,6 +66,7 @@ __DEFAULT_YES_OPTIONS = \
WARNS
__DEFAULT_NO_OPTIONS = \
+ FAST_DEPEND \
CTF \
DEBUG_FILES \
INSTALL_AS_USER \
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 2f20da8..cf3bee6 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -1,6 +1,6 @@
# $FreeBSD$
#
-# The include file <src.opts.mk> set common variables for owner,
+# The include file <bsd.own.mk> set common variables for owner,
# group, mode, and directories. Defaults are in brackets.
#
#
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index fbb6922..37ede4c9 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -82,9 +82,9 @@ ${PROG_FULL}: beforelinking
.endif
${PROG_FULL}: ${OBJS}
.if defined(PROG_CXX)
- ${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
+ ${CXX} ${CXXFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.else
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
+ ${CC} ${CFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.endif
.if ${MK_CTF} != "no"
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
@@ -112,9 +112,9 @@ ${PROG_FULL}: beforelinking
.endif
${PROG_FULL}: ${OBJS}
.if defined(PROG_CXX)
- ${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
+ ${CXX} ${CXXFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.else
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
+ ${CC} ${CFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.endif
.if ${MK_CTF} != "no"
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
diff --git a/share/mk/local.init.mk b/share/mk/local.init.mk
index 85303c3..a30ed0e 100644
--- a/share/mk/local.init.mk
+++ b/share/mk/local.init.mk
@@ -38,3 +38,5 @@ CPP= ${HOST_CPP}
HOST_CFLAGS+= -DHOSTPROG
CFLAGS+= ${HOST_CFLAGS}
.endif
+
+.-include "src.init.mk"
diff --git a/share/mk/src.init.mk b/share/mk/src.init.mk
new file mode 100644
index 0000000..2067dcd
--- /dev/null
+++ b/share/mk/src.init.mk
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+.if !target(__<src.init.mk>__)
+__<src.init.mk>__:
+
+.if !target(buildenv)
+buildenv: .PHONY
+ ${_+_}@env BUILDENV_DIR=${.CURDIR} ${MAKE} -C ${SRCTOP} buildenv
+.endif
+
+.endif # !target(__<src.init.mk>__)
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 61f9d79..d78d6e2 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -39,7 +39,7 @@ _INTERNALLIBS= \
netbsd \
ntp \
ntpevent \
- ohash \
+ openbsd \
opts \
parse \
readline \
@@ -314,8 +314,8 @@ LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a
-LIBOHASHDIR= ${ROOTOBJDIR}/lib/libohash
-LIBOHASH?= ${LIBOHASHDIR}/libohash.a
+LIBOPENBSDDIR= ${ROOTOBJDIR}/lib/libopenbsd
+LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd.a
LIBSMDIR= ${ROOTOBJDIR}/lib/libsm
LIBSM?= ${LIBSMDIR}/libsm.a
OpenPOWER on IntegriCloud