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.
This commit is contained in:
		@@ -5,7 +5,7 @@ INC=	net.example
 | 
			
		||||
MK=	../mk
 | 
			
		||||
include ${MK}/os.mk
 | 
			
		||||
 | 
			
		||||
${SFX}:
 | 
			
		||||
%.example.in: %.example${SFX}
 | 
			
		||||
	${CP} $< $@
 | 
			
		||||
 | 
			
		||||
include ${MK}/scripts.mk
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								mk/os.mk
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								mk/os.mk
									
									
									
									
									
								
							@@ -9,6 +9,3 @@ OS?= 		${_OS}
 | 
			
		||||
include ${MK}/os-${OS}.mk
 | 
			
		||||
 | 
			
		||||
RC_LIB=		/$(LIBNAME)/rc
 | 
			
		||||
 | 
			
		||||
SFX:=		${SFX_PFX}${SFX}
 | 
			
		||||
.SUFFIXES:	${SFX}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@ CLEANFILES+=		${OBJS} ${PROG}
 | 
			
		||||
 | 
			
		||||
all: depend ${PROG}
 | 
			
		||||
 | 
			
		||||
.c.o:
 | 
			
		||||
%.o: %.c
 | 
			
		||||
	${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
 | 
			
		||||
 | 
			
		||||
${PROG}: ${SCRIPTS} ${OBJS}
 | 
			
		||||
 
 | 
			
		||||
@@ -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}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user