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