Hi Antti El 30/08/15 a les 16:44, Antti Kantee ha escrit:
One thing you are doing wrong is creating a rule which creates two targets. If both
> targets happen to be made in parallel, you usually get corrupt output. So e.g. make > the .h depend on the .c (or simply omit it entirely if nothing on the chain depends on the .h).
Just omitted it then, thanks.
Might also consider replacing gcc with ${CC}?
Sure.
But that's not what you were asking for. I don't know what's wrong based on the above. Can you paste the entire Makefile and command line?
Makefile is attached (in my tree, this is pci-userspace/src-gnu/Makefile) Command-line is: ../../buildrump.sh/obj/tooldir/rumpmake dependall Many thanks -- Robert Millan
RUMPTOP= ${TOPRUMP} RUMPCOMP_USER_SRCS.rumpdev_pci= pci_user-gnu.c experimentalUser.c RUMPCOMP_USER_PATH.rumpdev_pci:= ${.PARSEDIR} RUMPCOMP_USER_CPPFLAGS.rumpdev_pci:= -I${.PARSEDIR} RUMPCOMP_CPPFLAGS.rumpdev_pci:= -I${.PARSEDIR} experimentalUser.c: echo '#include <mach/experimental.defs>' \ | ${CC} -E -x c - -o - \ | mig -cc cat - /dev/null -subrprefix __ \ -user experimentalUser.c \ -server /dev/null \ -header experimental_U.h .export RUMPCOMP_USER_SRCS.rumpdev_pci .export RUMPCOMP_USER_PATH.rumpdev_pci .export RUMPCOMP_USER_CPPFLAGS.rumpdev_pci .export RUMPCOMP_CPPFLAGS.rumpdev_pci .include "${RUMPTOP}/dev/Makefile.rumpdevcomp" .for pcidev in ${RUMPPCIDEVS} SUBDIR+= ${RUMPTOP}/dev/lib/lib${pcidev} .endfor .include <bsd.subdir.mk>