| But when I used distcc, all is lost with the -MD flags | | | /tmp % distcc /home/lrde/lrde/usr/bin/icc -Kc++ error.cc -c nostromo 18:58 | | error.cc(2): error: function "foo" has already been defined | | int foo () { return 1;} | | ^ | | | | compilation aborted for /tmp/distcc_106/server_0000031068.ii (code 2) | | distcc[31066] ERROR: compile on nostromo failed with exit code 2 | | /tmp % distcc /home/lrde/lrde/usr/bin/icc -Kc++ error.cc -c -MD -MF foo.Po | | /tmp % | | | If someone has an idea...
Actually, I'm not sure one can get both a CPP output together with dependencies. Distcc wants -E, and Automake wants -MD -MF: -M generate makefile dependency information -MM similar to -M, but do not include system header files -MG similar to -M, but treat missing header files as generated files -MD preprocess and compile, generating output file containing dependency information ending with extension .d -MMD similar to -MD, but do not include system header files -MF<file> generate makefile dependency information in file (must specify -M or -MM) It results in: /tmp % cat correct.cc nostromo 19:21 int foo () { return 1;} /tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -E correct.cc nostromo 19:22 #line 1 "correct.cc" int foo () { return 1;} /tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -E -MD -MFoutput.d correct.cc /tmp % cat output.d nostromo 19:22 correct.o: correct.cc I did not find a means to get the -E part... /tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -MD -MFoutput.d -E -o output.i correct.cc /tmp % cat output.i nostromo 19:23 cat: output.i: No such file or directory