summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2011-10-28 11:14:44 -0500
committerWilliam Hubbs <williamh@gentoo.org>2011-10-29 09:43:24 -0500
commit5066d40ac83fc9036843d670dbf816955b9f40a3 (patch)
tree9ca229a9816900f0c2864cf0a319a174c4cd36c4
parentf94e8836333f6dea142d9a7b29610fcc8d6b12a3 (diff)
downloadopenrc-5066d40ac83fc9036843d670dbf816955b9f40a3.tar.gz
openrc-5066d40ac83fc9036843d670dbf816955b9f40a3.tar.bz2
openrc-5066d40ac83fc9036843d670dbf816955b9f40a3.tar.xz
Use pattern rules instead of suffix rules
Rework the makefiles to use pattern rules instead of suffix rules. This is the preferred way to write implicit rules according to the gnu make manual.
-rw-r--r--doc/Makefile2
-rw-r--r--init.d/Makefile2
-rw-r--r--mk/lib.mk6
-rw-r--r--mk/os.mk3
-rw-r--r--mk/prog.mk2
-rw-r--r--mk/scripts.mk5
-rw-r--r--net/Makefile2
-rw-r--r--sh/Makefile3
-rw-r--r--src/librc/Makefile3
9 files changed, 10 insertions, 18 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 81e621b..8fbf3e8 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -5,7 +5,7 @@ INC= net.example
MK= ../mk
include ${MK}/os.mk
-${SFX}:
+%.example.in: %.example${SFX}
${CP} $< $@
include ${MK}/scripts.mk
diff --git a/init.d/Makefile b/init.d/Makefile
index db68154..de8428a 100644
--- a/init.d/Makefile
+++ b/init.d/Makefile
@@ -37,7 +37,7 @@ SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
# These are NetBSD specific
SRCS-NetBSD+= devdb.in swap-blk.in ttys.in wscons.in
-${SFX}:
+%.in: %${SFX}
sed ${SED_REPLACE} ${SED_EXTRA} $< > $@
include ${MK}/scripts.mk
diff --git a/mk/lib.mk b/mk/lib.mk
index 0b79a46..c7bd1aa 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -14,12 +14,10 @@ _LIBS= lib${LIB}.a ${SHLIB_NAME}
CLEANFILES+= ${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK}
-.SUFFIXES: .So
-
-.c.o:
+%.o: %.c
${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
-.c.So:
+%.So: %.c
${CC} ${PICFLAG} -DPIC ${CPPFLAGS} ${CFLAGS} -c $< -o $@
all: depend ${_LIBS}
diff --git a/mk/os.mk b/mk/os.mk
index 4f5a954..c306f05 100644
--- a/mk/os.mk
+++ b/mk/os.mk
@@ -9,6 +9,3 @@ OS?= ${_OS}
include ${MK}/os-${OS}.mk
RC_LIB= /$(LIBNAME)/rc
-
-SFX:= ${SFX_PFX}${SFX}
-.SUFFIXES: ${SFX}
diff --git a/mk/prog.mk b/mk/prog.mk
index 17b2127..d4c3252 100644
--- a/mk/prog.mk
+++ b/mk/prog.mk
@@ -24,7 +24,7 @@ CLEANFILES+= ${OBJS} ${PROG}
all: depend ${PROG}
-.c.o:
+%.o: %.c
${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
${PROG}: ${SCRIPTS} ${OBJS}
diff --git a/mk/scripts.mk b/mk/scripts.mk
index ce37a61..c0b44db 100644
--- a/mk/scripts.mk
+++ b/mk/scripts.mk
@@ -15,11 +15,10 @@ _LCL_SED:= $(shell ${_LCL_SED_SH})
SED_REPLACE= -e 's:@SHELL@:${SH}:g' -e 's:@LIB@:${LIBNAME}:g' -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' -e 's:@PREFIX@:${PREFIX}:g' -e 's:@RC_SYS_DEFAULT@:${MKRCSYS}:g' ${_PKG_SED} ${_LCL_SED}
# Tweak our shell scripts
-.SUFFIXES: .sh.in .in
-.sh.in.sh:
+%.sh: %.sh.in
${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@
-.in:
+%: %.in
${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@
all: ${OBJS} ${TARGETS}
diff --git a/net/Makefile b/net/Makefile
index e87d3dd..c2f3747 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -18,7 +18,7 @@ INC-Linux= adsl.sh apipa.sh arping.sh bonding.sh br2684ctl.sh bridge.sh \
SRCS-NetBSD=
INC-NetBSD= ifwatchd.sh
-${SFX}.sh:
+%.sh: %.sh${SFX}
${CP} $< $@
include ${MK}/scripts.mk
diff --git a/sh/Makefile b/sh/Makefile
index c15c79e..f714780 100644
--- a/sh/Makefile
+++ b/sh/Makefile
@@ -6,7 +6,6 @@ BIN= gendepends.sh init.sh runscript.sh ${BIN-${OS}}
INSTALLAFTER= _installafter
-SFX_PFX= .sh
MK= ../mk
include ${MK}/os.mk
@@ -21,7 +20,7 @@ BIN-NetBSD= ifwatchd-carrier.sh ifwatchd-nocarrier.sh
include ${MK}/scripts.mk
-${SFX}.sh:
+%.sh: %.sh${SFX}
${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@
_installafter:
diff --git a/src/librc/Makefile b/src/librc/Makefile
index 963fb41..0b4beb2 100644
--- a/src/librc/Makefile
+++ b/src/librc/Makefile
@@ -39,8 +39,7 @@ endif
endif
SED_CMD+= ${_LCL_PREFIX}
-.SUFFIXES: .h.in .h
-.h.in.h:
+%.h: %.h.in
${SED} ${SED_CMD} $< > $@
${SRCS}: rc.h