> So this is fixed with an additional dependency to force serialization, > or by fixing the script not to re-use the same temp filenames: > > nodes.h: nodes.c > nodes.c nodes.h: mknodes.sh nodetypes nodes.c.pat > ${_MKTARGET_CREATE} > ${SCRIPT_ENV} ${HOST_SH} ${.ALLSRC:S/^nodes.c$//} ${.OBJDIR} > [ -f nodes.h ]
You should have written this version at first. :) This seems work for me. I think I tried a similar one but clearly I figured out the trick of removing nodes.c from ${.ALLSRC}. Next is usr.bin/ktruss. > Still you have not shown me why GENCMD is necessary... For me it adds > complexity and slows things down. Fixing parallelization in Makefiles > is simple and adequately done with the existing make features, or by $GENCMD provides a way to extract only one output file. It looks like complex because it's embedded in makefile. I don't think it's really complex. It's just redundant. :) > correcting the scripts that generate files to use unique filenames. Actually I like this more. Masao -- Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635