The problem seems to be in the /usr/src/share/examples/Makefile copies:: is an idiom used in only one other place in the BSD tree (in sendmail -- the /usr/src/share/sendmail/Makefile). Burying copies:: inside a .for loop seems to hide the indentifier from make. It probably shouldn't have worked previously, but it apparently it did. Something somewhere else must have covered up the bug and just got exposed.
The fix seems to be to move the loops inside the copies:: section. Disclaimer: I am not one of the BSD maintainers so I can't comment on the validity of the patch. But it seems to work for me. The patch I used is attached. Hope it helps. Andy L.
*** /home/andrewl/Makefile-1.29 Sun Oct 21 15:25:19 2001 --- Makefile Sun Oct 21 15:28:20 2001 *************** *** 21,36 **** beforeinstall: etc-examples ${SHARED} - .for dir in ${DIRS} FILES!= find -L ${dir} \( -name CVS -prune \) -o -type f -print ! .for file in ${FILES} copies:: ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 ${file} ${DDIR}/${file} .endfor .endfor - .for dir in ${DIRS} symlinks:: rm -rf ${DDIR}/${dir}; ln -s ${.CURDIR}/${dir} ${DDIR} .endfor --- 21,37 ---- beforeinstall: etc-examples ${SHARED} FILES!= find -L ${dir} \( -name CVS -prune \) -o -type f -print ! copies:: + .for dir in ${DIRS} + .for file in ${FILES} ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 ${file} ${DDIR}/${file} .endfor .endfor symlinks:: + .for dir in ${DIRS} rm -rf ${DDIR}/${dir}; ln -s ${.CURDIR}/${dir} ${DDIR} .endfor