A makefile containing the following (this is not the complete makefile...) all: ${TOP_LIBDIR}/libafsrpc.a libafsrpc.a: ${LIBOBJS} $(RM) -f $@ $(AR) crv $@ ${LIBOBJS} $(RANLIB) $@ case "${SYS_NAME}" in \ rs_aix*) \ $(AR) crv $@ ../sys/afsl.exp;; \ esac ${TOP_LIBDIR}/libafsrpc.a: libafsrpc.a ${INSTALL} $? $@ has the following behaavior if make is invoked when the library is up to date (this is a subset of the make -d lmv output): Examining libafsrpc.a...modified 15:22:39 Mar 05, 2002...library.../ modified 15:22:38 Mar 05, 2002...up-to-date. Examining /usr/home/cg2v/openafs/lib/libafsrpc.a...modified 15:22:39 Mar 05, 2002...library.../ modified 15:22:38 Mar 05, 2002...out-of-date. /usr/home/cg2v/openafs/lib/libafsrpc.a:> = libafsrpc.a /usr/home/cg2v/openafs/lib/libafsrpc.a:? = /usr/home/cg2v/openafs/src/pinstall/pinstall /usr/home/cg2v/openafs/lib/libafsrpc.a Not enough file names *** Error code 1 The obvious work around is to use $< or $> in the rule instead of $?, but that isn't workable in this case since some older makes don't impliment those. I can't be sure that nothing else changed, but I believe that this problem did not affect my FreeBSD 4.4 system How-To-Repeat: I tried to produce a minimal makefile that triggered the problem, but I was unable to come up with something simple that did not work. The actual makefile that triggers the problem comes from openafs. A version that otherwise compiles on freebsd is available here: http://grand.central.org/dl/openafs/1.3.1/openafs-1.3.1-src.tar.bz2
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
Is this PR still relevant to modern make(1) utility?