From 5066d40ac83fc9036843d670dbf816955b9f40a3 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Fri, 28 Oct 2011 11:14:44 -0500 Subject: 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 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 -- cgit v1.2.3