Hi all,

I don't understand the following behavior of my makefile.

The relevant snippet is as following:

target1.so: file1.o file2.o file3.o ...
        $(LD) ...

target2.so: file4.o file5.o file6.o ...
        $(LD) ...

[and so on, finally 8 targets]

all_targets: target1.so target2.so target3.so target4.so target5.so target6.so target7.so target8.so

I compile make with - j5:

make -j5 all_targets

What happens: all .o's get compiled and only then the linking elements get executed one after another (and not simultaneously!). None of the targets share .o files.

What I would expect: after all .o's of one target are completed the linker of this target should get executed.

Am I right here or is there some other dependency rule that make takes into consideration?

Please help me to understand this sequence.

Thanks.

Best regards,

Erik


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to