No need for multiple echos or xargs (wich runs cat only once anyway) here. The {post-,}magic files stay unchanged.
In magic target don't specify dependencies twice. OK? Index: Makefile =================================================================== RCS file: /cvs/src/usr.bin/file/Makefile,v retrieving revision 1.17 diff -u -p -r1.17 Makefile --- Makefile 28 Jun 2017 13:37:56 -0000 1.17 +++ Makefile 28 Jun 2017 23:59:33 -0000 @@ -23,12 +23,10 @@ MAG1= $(.CURDIR)/magdir/Header \ MAGFILES= $(.CURDIR)/magdir/[0-9a-z]* post-magic: $(MAGFILES) - for i in ${.ALLSRC:N*.orig}; do \ - echo $$i; \ - done|sort|xargs -n 1024 cat >$(.TARGET) + cat $$(echo ${.ALLSRC:N*.orig} | tr ' ' '\n' | sort) >$(.TARGET) magic: $(MAG1) post-magic - cat ${MAG1} post-magic >$(.TARGET) + cat $(.ALLSRC) >$(.TARGET) afterinstall: ${INSTALL} ${INSTALL_COPY} -o $(MAGICOWN) -g $(MAGICGRP) \