With automake-1.13.4 & automake-1.14, when there is a _SOURCES = ../blah.c, make does not properly run because .deps is gone too early.
File set: # Makefile.am SUBDIRS = b noinst_PROGRAMS = foo # configure.ac AC_INIT([a],[0]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_PROG_CC AC_CONFIG_FILES([Makefile b/Makefile]) AC_OUTPUT # foo.c int main(void){return 0;} # b/Makefile.am noinst_PROGRAMS = bar bar_SOURCES = ../foo.c Observed: 01:43 wrgstfl:/dev/shm/testcase > make distclean Making distclean in b make[1]: Entering directory `/dev/shm/testcase/b' test -z "bar" || rm -f bar rm -f *.o rm -f ../*.o rm -f *.tab.c test -z "" || rm -f test . = "." || test -z "" || rm -f rm -f ../.deps/.dirstamp rm -f ../.dirstamp rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -rf ../.deps rm -f Makefile make[1]: Leaving directory `/dev/shm/testcase/b' make[1]: Entering directory `/dev/shm/testcase' Makefile:348: .deps/foo.Po: No such file or directory make[1]: *** No rule to make target `.deps/foo.Po'. Stop. make[1]: Leaving directory `/dev/shm/testcase' make: *** [distclean-recursive] Error 1 Expected: Don't fail. Additional information: The problem is also observable without using ".."; foo_SOURCES = b/foo.c, bar_SOURCES = foo.c also yields the same issue that one .deps is gone before the Makefile of another directory is executed.