Hello!
I have encountered a problem with make -j (parallel make)
when I use recursive make rules.
Sometimes make seems to start building a target before all
the prerequisites have been built.
I have something like this:
in src/tc/Makefile
../boot2/%: always
 ${MAKE} -C ../boot2 $(notdir $@)
.PHONY: always
init_cmd_if.o: ../boot2/sysdis_c.c

In addition there's a usual rule for C:
%.o: %.c
    $(CC) $(CFLAGS) -o $@ $<


And in another directory I launch this make with a recursive
rule:
src/tc/tcu.exe: always
  $(MAKE) -C $(dir $@) $(notdir $@)


However, I noticed that when make -j was used,
sometimes make will try to build init_cmd_if.o from .c
after make for sysdis_c.c started but without waiting for
it to finish.
Shouldn't all prerequisites be built before the target build is started?

make --version
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i586-mandrake-linux-gnu

Thanks,
MST





_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make

Reply via email to