summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorJonathan Anderson <jonathan@FreeBSD.org>2016-10-12 00:42:46 +0000
committerJonathan Anderson <jonathan@FreeBSD.org>2016-10-12 00:42:46 +0000
commit808b18e4d6290cd08c2ac2977fff7aaa70ba7c9c (patch)
treefb924657207198ace02d6f539a2b7f5c284526c3 /share
parent943ac2b07e7383625d2d10098953808f35c19417 (diff)
Notes
Diffstat (limited to 'share')
-rw-r--r--share/mk/Makefile2
-rw-r--r--share/mk/bsd.lib.mk8
-rw-r--r--share/mk/bsd.suffixes-posix.mk56
-rw-r--r--share/mk/bsd.suffixes.mk99
-rw-r--r--share/mk/sys.mk154
5 files changed, 159 insertions, 160 deletions
diff --git a/share/mk/Makefile b/share/mk/Makefile
index b33ab27ac0534..780e3b651238d 100644
--- a/share/mk/Makefile
+++ b/share/mk/Makefile
@@ -49,6 +49,8 @@ FILES= \
bsd.progs.mk \
bsd.snmpmod.mk \
bsd.subdir.mk \
+ bsd.suffixes-posix.mk \
+ bsd.suffixes.mk \
bsd.symver.mk \
bsd.sys.mk \
bsd.test.mk \
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index f3b9f146d282c..aa8ed225c58d0 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -78,7 +78,6 @@ CTFFLAGS+= -g
# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
# .pico used for PIC object files
-.SUFFIXES:
.SUFFIXES: .out .o .po .pico .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln
.if !defined(PICFLAG)
@@ -91,10 +90,6 @@ PICFLAG=-fpic
PO_FLAG=-pg
-.c.o:
- ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
.c.po:
${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
${CTFCONVERT_CMD}
@@ -103,9 +98,6 @@ PO_FLAG=-pg
${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
${CTFCONVERT_CMD}
-.cc.o .C.o .cpp.o .cxx.o:
- ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-
.cc.po .C.po .cpp.po .cxx.po:
${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
diff --git a/share/mk/bsd.suffixes-posix.mk b/share/mk/bsd.suffixes-posix.mk
new file mode 100644
index 0000000000000..90aec1d2f2576
--- /dev/null
+++ b/share/mk/bsd.suffixes-posix.mk
@@ -0,0 +1,56 @@
+# $FreeBSD$
+
+# Posix 1003.2 mandated rules
+#
+# Quoted directly from the Posix 1003.2 draft, only the macros
+# $@, $< and $* have been replaced by ${.TARGET}, ${.IMPSRC}, and
+# ${.PREFIX}, resp.
+
+# SINGLE SUFFIX RULES
+.c:
+ ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
+
+.f:
+ ${FC} ${FFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
+
+.sh:
+ cp -f ${.IMPSRC} ${.TARGET}
+ chmod a+x ${.TARGET}
+
+# DOUBLE SUFFIX RULES
+
+.c.o:
+ ${CC} ${CFLAGS} -c ${.IMPSRC}
+
+.f.o:
+ ${FC} ${FFLAGS} -c ${.IMPSRC}
+
+.y.o:
+ ${YACC} ${YFLAGS} ${.IMPSRC}
+ ${CC} ${CFLAGS} -c y.tab.c
+ rm -f y.tab.c
+ mv y.tab.o ${.TARGET}
+
+.l.o:
+ ${LEX} ${LFLAGS} ${.IMPSRC}
+ ${CC} ${CFLAGS} -c lex.yy.c
+ rm -f lex.yy.c
+ mv lex.yy.o ${.TARGET}
+
+.y.c:
+ ${YACC} ${YFLAGS} ${.IMPSRC}
+ mv y.tab.c ${.TARGET}
+
+.l.c:
+ ${LEX} ${LFLAGS} ${.IMPSRC}
+ mv lex.yy.c ${.TARGET}
+
+.c.a:
+ ${CC} ${CFLAGS} -c ${.IMPSRC}
+ ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
+ rm -f ${.PREFIX}.o
+
+.f.a:
+ ${FC} ${FFLAGS} -c ${.IMPSRC}
+ ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
+ rm -f ${.PREFIX}.o
diff --git a/share/mk/bsd.suffixes.mk b/share/mk/bsd.suffixes.mk
new file mode 100644
index 0000000000000..551356bc30200
--- /dev/null
+++ b/share/mk/bsd.suffixes.mk
@@ -0,0 +1,99 @@
+# $FreeBSD$
+
+.sh:
+ cp -f ${.IMPSRC} ${.TARGET}
+ chmod a+x ${.TARGET}
+
+.c.ln:
+ ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
+ touch ${.TARGET}
+
+.cc.ln .C.ln .cpp.ln .cxx.ln:
+ ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
+ touch ${.TARGET}
+
+.c:
+ ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.c.o:
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.cc .cpp .cxx .C:
+ ${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
+
+.cc.o .cpp.o .cxx.o .C.o:
+ ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
+.m.o:
+ ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.p.o:
+ ${PC} ${PFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.e .r .F .f:
+ ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} \
+ -o ${.TARGET}
+
+.e.o .r.o .F.o .f.o:
+ ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
+.S.o:
+ ${CC:N${CCACHE_BIN}} ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.asm.o:
+ ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
+ -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.s.o:
+ ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
+ ${CTFCONVERT_CMD}
+
+# XXX not -j safe
+.y.o:
+ ${YACC} ${YFLAGS} ${.IMPSRC}
+ ${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
+ rm -f y.tab.c
+ ${CTFCONVERT_CMD}
+
+.l.o:
+ ${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
+ ${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
+ rm -f ${.PREFIX}.tmp.c
+ ${CTFCONVERT_CMD}
+
+# XXX not -j safe
+.y.c:
+ ${YACC} ${YFLAGS} ${.IMPSRC}
+ mv y.tab.c ${.TARGET}
+
+.l.c:
+ ${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}
+
+.s.out .c.out .o.out:
+ ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
+.f.out .F.out .r.out .e.out:
+ ${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} \
+ ${LDLIBS} -o ${.TARGET}
+ rm -f ${.PREFIX}.o
+ ${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
+ ${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
+ ${CTFCONVERT_CMD}
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index dbc2fd91e372a..73350e71f5a6d 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -259,162 +259,12 @@ YFLAGS ?= -d
.if defined(%POSIX)
-# Posix 1003.2 mandated rules
-#
-# Quoted directly from the Posix 1003.2 draft, only the macros
-# $@, $< and $* have been replaced by ${.TARGET}, ${.IMPSRC}, and
-# ${.PREFIX}, resp.
-
-# SINGLE SUFFIX RULES
-.c:
- ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
-
-.f:
- ${FC} ${FFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}
-
-.sh:
- cp -f ${.IMPSRC} ${.TARGET}
- chmod a+x ${.TARGET}
-
-# DOUBLE SUFFIX RULES
-
-.c.o:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
-
-.f.o:
- ${FC} ${FFLAGS} -c ${.IMPSRC}
-
-.y.o:
- ${YACC} ${YFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c y.tab.c
- rm -f y.tab.c
- mv y.tab.o ${.TARGET}
-
-.l.o:
- ${LEX} ${LFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c lex.yy.c
- rm -f lex.yy.c
- mv lex.yy.o ${.TARGET}
-
-.y.c:
- ${YACC} ${YFLAGS} ${.IMPSRC}
- mv y.tab.c ${.TARGET}
-
-.l.c:
- ${LEX} ${LFLAGS} ${.IMPSRC}
- mv lex.yy.c ${.TARGET}
-
-.c.a:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
- ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
- rm -f ${.PREFIX}.o
-
-.f.a:
- ${FC} ${FFLAGS} -c ${.IMPSRC}
- ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
- rm -f ${.PREFIX}.o
+.include "bsd.suffixes-posix.mk"
.else
# non-Posix rule set
-
-.sh:
- cp -f ${.IMPSRC} ${.TARGET}
- chmod a+x ${.TARGET}
-
-.c.ln:
- ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
- touch ${.TARGET}
-
-.cc.ln .C.ln .cpp.ln .cxx.ln:
- ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
- touch ${.TARGET}
-
-.c:
- ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.c.o:
- ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.cc .cpp .cxx .C:
- ${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
-
-.cc.o .cpp.o .cxx.o .C.o:
- ${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-
-.m.o:
- ${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.p.o:
- ${PC} ${PFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.e .r .F .f:
- ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} \
- -o ${.TARGET}
-
-.e.o .r.o .F.o .f.o:
- ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-
-.S.o:
- ${CC:N${CCACHE_BIN}} ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.asm.o:
- ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
- -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.s.o:
- ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
- ${CTFCONVERT_CMD}
-
-# XXX not -j safe
-.y.o:
- ${YACC} ${YFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
- rm -f y.tab.c
- ${CTFCONVERT_CMD}
-
-.l.o:
- ${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
- ${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
- rm -f ${.PREFIX}.tmp.c
- ${CTFCONVERT_CMD}
-
-# XXX not -j safe
-.y.c:
- ${YACC} ${YFLAGS} ${.IMPSRC}
- mv y.tab.c ${.TARGET}
-
-.l.c:
- ${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}
-
-.s.out .c.out .o.out:
- ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
- ${CTFCONVERT_CMD}
-
-.f.out .F.out .r.out .e.out:
- ${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} \
- ${LDLIBS} -o ${.TARGET}
- rm -f ${.PREFIX}.o
- ${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
- ${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
- ${CTFCONVERT_CMD}
+.include "bsd.suffixes.mk"
# Pull in global settings.
__MAKE_CONF?=/etc/make.conf