%% "Jan M" <[EMAIL PROTECTED]> writes:

  jm> The GNU make manual reference to recursion doesnt provide a hint
  jm> as to how, with this method of recursion, make is finding the
  jm> sub-makefiles

It uses exactly the same method as the top-level makefile: a -f
argument, or the default names for makefiles, or MAKEFILES variable.
 
  jm> BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
  jm> RECURSIVE_TARGETS = ... all-recursive ...
  jm> all: $(BUILT_SOURCES) config.h
  jm>     $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
  jm> Exactly what is happening here? 

I'm not sure what you're question is... this invokes sub-makes, but in
the same directory.  So, it reads all the same makefiles as below.

But, since you explicitly invoked the "all-recursive" target it will run
that target instead of the "all" target.

  jm> By what mechanism is make locating the other makefiles (cd
  jm> <subdirectory> appears not to be used as in the example of
  jm> recursion in the manual)?

THIS invocation is NOT locating "the other makefiles"; it's re-reading
the same makefiles.  The cd to the subdirectory and the read of those
makefiles will happen in the command script for the -recursive targets.

  jm> What is the significance of all-recursive, which is declared but
  jm> appears not to be defined?

It is defined.  Look more closely at your makefile.

If it weren't defined you'd get an error "don't know how to make target"
or similar.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to