How does make pass 'VPATH' to the sub-make

205 Views Asked by At

Thanks a lot for the comments. In this case actually VPATH is not used.

I write some makefiles to recursively build my project.

Part of the makefile in the root directory looks like this,

VPATH += $(shell find -type d)
export VPATH

#Codes to generate $(ARXIVS), i.e. the list of all local archives,
#is omitted here to save spaces
all : main.o $(ARXIVS)

$(ARXIVS) :
           $(MAKE) --directory $(@D)

.PHONY : $(ARXIVS) all

As you can see, I pass the variable VPATH to sub-makes, in order to save some computational cost. And the whole system works.

But the searching paths in a sub-directory is different from the ones in the root directory.

I have print the values of VAPTH in sub-makes, the paths are indeed the ones with respect to the root directory. So VPATH in the sub-makes should be wrong.

But the whole system works. How did this happen?Any one give the suggestion to me. Thanks in advance

0

There are 0 best solutions below