On Fri, Mar 18, 2016 at 12:36:13 +0100, Juergen Sauermann wrote: > Attached is the full log (shortest way to reproduce the problem. > I could have run 'make all' as well bu the result would be the same. > > What puzzles me the most is the message: > > make[2]: *** No rule to make target `.deps/libapl_la-libapl.Plo'. Stop. > > because why would 'make distclean' even try to make that target?
Thanks for the full log, that gives enough information to explain this. Makefiles include all of the files in .deps (as a make include). Make treates included files as prerequisites of the makefile itself, so they need to exist in order for any target to run, including any *clean targets. Turns out from your log file that a subdirectory of src is removing the .deps files in its parent dir: > make[2]: Entering directory `/home/eedjsa/projects/juergen/apl-1.5/src/APs' > rm -rf .libs _libs > rm -f *.o > rm -f AP100 AP210 APserver > rm -f *.lo > rm -f *.tab.c > test -z "" || rm -f > rm -f ../*.o > rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags > test . = "." || test -z "" || rm -f > rm -f ../.deps/.dirstamp > rm -f ../.dirstamp > rm -rf ../.deps ./.deps > rm -f Makefile > make[2]: Leaving directory `/home/eedjsa/projects/juergen/apl-1.5/src/APs' This is probably why when 'distclean' returns to src, its .deps files are already removed and the makefile errors out. Are sources from the parent directory being built in the src/APs subdir and you're using the 'subdir-objects' option? -- mike