On Wed, Feb 27, 2013 at 8:55 PM, Jian <invalid.nore...@gnu.org> wrote: ... > Supposing 2 makefiles in dir A: 1.mak, 2.mak, and 1.mak include 2.mak. > Now in dir B, 3.mak includes 'A/1.mak' (will auto include 2.mak). But error > shows that 2.mak cannot be found. > > The make option "-I" can be the workaround like: > cd B > make -f 3.mak -IA > > But it's not acceptable to tell user to uses "-I" to make every time. make > shall be able to find 2.mak.
So have 1.mak look for 2.mak in the same directory, by doing something like: # Get the directory part of the path by which 1.mak was included # This should be before any other includes in 1.mak dir_of_1 = $(dir $(lastword $(MAKEFILE_LIST))) ...and then later: # pull in 2.mak in the same directory as this file include ${dir_of_1}2.mak Philip Guenther _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make