From 5066d40ac83fc9036843d670dbf816955b9f40a3 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Fri, 28 Oct 2011 11:14:44 -0500 Subject: [PATCH] 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. --- doc/Makefile | 2 +- init.d/Makefile | 2 +- mk/lib.mk | 6 ++---- mk/os.mk | 3 --- mk/prog.mk | 2 +- mk/scripts.mk | 5 ++--- net/Makefile | 2 +- sh/Makefile | 3 +-- src/librc/Makefile | 3 +-- 9 files changed, 10 insertions(+), 18 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index 81e621ba..8fbf3e8b 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 db681549..de8428ab 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 0b79a465..c7bd1aae 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 4f5a954e..c306f05f 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 17b21274..d4c32520 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 ce37a617..c0b44db0 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 e87d3ddd..c2f37474 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 c15c79e0..f7147802 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 963fb415..0b4beb26 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