Parent Makefile works great now.

Many thanks.

Paul D. Smith wrote:

%% Philippe HAUTION <[EMAIL PROTECTED]> writes:

 ph> LOOP = @for ssp in $(SSP); do \
 ph>           (echo $$ssp :; cd $$ssp; \
 ph>            if [[ ! -f Makefile.dep ]]; then \
 ph>              $(MAKE) depend; \
 ph>            fi; \
 ph>            $(MAKE) $@ || return 1) \
 ph>         done

 ph> debug release clean cleand cleanr refresh depend pure :
 ph>     $(LOOP)


 ph> It is running fine except in parallel mode with the -j N
 ph> option. We get this warning : "jobserver unavailable: using -j1.
 ph> Add `+' to parent make rule.".

 ph> The manual says this warning means that the parent has troubles
 ph> determining the child is a make, which is quite confusing since
 ph> the MAKE variable seems properly used.

Make only looks at the unexpanded command line and searches for the
strings '$(MAKE)' or '${MAKE}'.  It does not look at the expansion of
the command line (it cannot, since after expansion obviously there will
be no $(MAKE) or ${MAKE}... they are expanded!)

Your unexpanded command line is the string '$(LOOP)', which obviously
does not contain the text '$(MAKE)' or '${MAKE}'.

Just exactly as the error message says, you need to add a "+" to the
beginning of the rule.  Change:

LOOP = @for ssp in $(SSP); do \
       ...

to

LOOP = +@for ssp in $(SSP); do \
       ...

--
Philippe Haution
EDF R&D
D�partement M�thodes d'Optimisation et de Simulation
1 Av du G�n�ral de Gaulle
92141 Clamart CEDEX





_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to