summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorfjoe <fjoe@FreeBSD.org>2011-11-29 16:34:44 +0000
committerfjoe <fjoe@FreeBSD.org>2011-11-29 16:34:44 +0000
commit5f9c1025cef6244c48aa39fa82ea90d42586396c (patch)
treeef01e11f9b000a3be27c28fc99c8e771f661a104 /share/mk
parenta441abaf37216453b02f58c8ecdc72019b820e86 (diff)
downloadFreeBSD-src-5f9c1025cef6244c48aa39fa82ea90d42586396c.zip
FreeBSD-src-5f9c1025cef6244c48aa39fa82ea90d42586396c.tar.gz
- fix WITH_CTF when specified in /etc/src.conf [1]
- CTFCONVERT_CMD=... is a hack (should be defined to empty string instead): make(1) should be taught to ignore empty commands silently in compat mode (as it does in !compat mode, GNU make also silently ignores empty commands) and to skip printing empty commands in !compat mode - config(8) should generate ${NORMAL_CTFCONVERT} invocation without '@': this will allow to simplify kern.pre.mk even more and lessen the number of shell invocations during kernel build when CTF is turned off - WITH_CTF can now be converted to usual MK_CTF=yes/no infrastructure Pointy hat to: fjoe [1]
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.lib.mk49
-rw-r--r--share/mk/bsd.own.mk6
-rw-r--r--share/mk/bsd.prog.mk11
-rw-r--r--share/mk/sys.mk82
4 files changed, 40 insertions, 108 deletions
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 6132a75..a575536 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -33,15 +33,10 @@ CFLAGS+= -DNDEBUG
NO_WERROR=
.endif
-# Enable CTF conversion on request.
-.if defined(WITH_CTF)
-.undef NO_CTF
-.endif
-
.if defined(DEBUG_FLAGS)
CFLAGS+= ${DEBUG_FLAGS}
-.if !defined(NO_CTF) && (${DEBUG_FLAGS:M-g} != "")
+.if defined(WITH_CTF) && (${DEBUG_FLAGS:M-g} != "")
CTFFLAGS+= -g
.endif
.endif
@@ -69,21 +64,15 @@ PO_FLAG=-pg
.c.o:
${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || \
- (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
+ ${CTFCONVERT_CMD}
.c.po:
${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.c.So:
${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.cc.o:
${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@@ -96,47 +85,33 @@ PO_FLAG=-pg
.f.po:
${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.f.So:
${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.s.po .s.So:
${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.asm.po:
${CC} -x assembler-with-cpp -DPROF ${PO_CFLAGS} ${ACFLAGS} \
-c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.asm.So:
${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \
-c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.S.po:
${CC} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.S.So:
${CC} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
all: objwarn
@@ -211,7 +186,7 @@ ${SHLIB_NAME}: ${SOBJS}
-o ${.TARGET} -Wl,-soname,${SONAME} \
`NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
.endif
-.if !defined(NO_CTF)
+.if defined(WITH_CTF)
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
.endif
.endif
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 82ccefc..4791612 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -189,6 +189,12 @@ STRIP?= -s
COMPRESS_CMD?= gzip -cn
COMPRESS_EXT?= .gz
+.if defined(WITH_CTF)
+CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
+.else
+CTFCONVERT_CMD= ...
+.endif
+
.if !defined(_WITHOUT_SRCCONF)
#
# Define MK_* variables (which are either "yes" or "no") for users
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index 193ebb1..f9801b0 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -15,16 +15,11 @@ CFLAGS+= -DNDEBUG
NO_WERROR=
.endif
-# Enable CTF conversion on request.
-.if defined(WITH_CTF)
-.undef NO_CTF
-.endif
-
.if defined(DEBUG_FLAGS)
CFLAGS+=${DEBUG_FLAGS}
CXXFLAGS+=${DEBUG_FLAGS}
-.if !defined(NO_CTF) && (${DEBUG_FLAGS:M-g} != "")
+.if defined(WITH_CTF) && (${DEBUG_FLAGS:M-g} != "")
CTFFLAGS+= -g
.endif
.endif
@@ -60,7 +55,7 @@ ${PROG}: ${OBJS}
.else
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.endif
-.if !defined(NO_CTF)
+.if defined(WITH_CTF)
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
.endif
@@ -90,7 +85,7 @@ ${PROG}: ${OBJS}
.else
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
.endif
-.if !defined(NO_CTF)
+.if defined(WITH_CTF)
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
.endif
.endif
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index d5577b1..e8ec4c1 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -59,12 +59,6 @@ CFLAGS += -fno-strict-aliasing
.endif
PO_CFLAGS ?= ${CFLAGS}
-# Turn CTF conversion off by default for now. This default could be
-# changed later if DTrace becomes popular.
-.if !defined(WITH_CTF)
-NO_CTF = 1
-.endif
-
# C Type Format data is required for DTrace
CTFFLAGS ?= -L VERSION
@@ -158,15 +152,11 @@ YFLAGS ?= -d
# SINGLE SUFFIX RULES
.c:
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.f:
${FC} ${FFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.sh:
cp -f ${.IMPSRC} ${.TARGET}
@@ -176,33 +166,25 @@ YFLAGS ?= -d
.c.o:
${CC} ${CFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.f.o:
${FC} ${FFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.y.o:
${YACC} ${YFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} -c y.tab.c
rm -f y.tab.c
mv y.tab.o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.l.o:
${LEX} ${LFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} -c lex.yy.c
rm -f lex.yy.c
mv lex.yy.o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.y.c:
${YACC} ${YFLAGS} ${.IMPSRC}
@@ -240,15 +222,11 @@ YFLAGS ?= -d
.c:
${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.c.o:
${CC} ${CFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.cc .cpp .cxx .C:
${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
@@ -258,15 +236,11 @@ YFLAGS ?= -d
.m.o:
${OBJC} ${OBJCFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.p.o:
${PC} ${PFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.e .r .F .f:
${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} \
@@ -277,38 +251,28 @@ YFLAGS ?= -d
.S.o:
${CC} ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.asm.o:
${CC} -x assembler-with-cpp ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.s.o:
${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
# XXX not -j safe
.y.o:
${YACC} ${YFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
rm -f y.tab.c
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.l.o:
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
rm -f ${.PREFIX}.tmp.c
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
# XXX not -j safe
.y.c:
@@ -320,34 +284,26 @@ YFLAGS ?= -d
.s.out .c.out .o.out:
${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.f.out .F.out .r.out .e.out:
${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} \
${LDLIBS} -o ${.TARGET}
rm -f ${.PREFIX}.o
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
# XXX not -j safe
.y.out:
${YACC} ${YFLAGS} ${.IMPSRC}
${CC} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
rm -f y.tab.c
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
.l.out:
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
rm -f ${.PREFIX}.tmp.c
-.if !defined(NO_CTF)
- ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+ ${CTFCONVERT_CMD}
# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
__MAKE_CONF?=/etc/make.conf
OpenPOWER on IntegriCloud