help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

all: depend $(SUBDIRS) - does not go into subdirs


From: Alexander Farber
Subject: all: depend $(SUBDIRS) - does not go into subdirs
Date: Sat, 10 Jul 2004 15:04:31 +0000
User-agent: Mutt/1.4.1i

Hi,

I have a not so complex Makefile which first generates and
includes a Makefile.subdirs (which contains a variable SUBDIRS
with a list of directories) and then I'd like it to execute
a depend and a compilation phase (that one in every subdir).

The Makefile.subdirs generation and depend work fine, but
I never see gmake descending into the $(SUBDIRS) and it reports
"nothing to be done for all" even though I've put the $(SUBDIRS)
under the .PHONY target.

Does anybody see, what am I doing wrong or should I come up
with a simpler test case? Thank you for any hints.

Regards
Alex


all: depend $(SUBDIRS)

$(SUBDIRS): 
        $(MAKE) -C $@ -f Makefile.mbs

depend: Makefile.targets

Makefile.targets: $(foreach dir, $(SUBDIRS), $(dir)/bld.inf)
        rm -f $@; \
        for dir in $(SUBDIRS); do \
                echo "===> $$dir"; \
                if cd $$dir; then \
                        echo "Creating Makefile.mbs"; \
                        $(CPP) < bld.inf | $(INF2MAKE) -gd $(TOPDIR) > 
Makefile.mbs; \
                        echo "Extracting mmp filenames from bld.inf"; \
                        MMPFILES=`$(CPP) $(CPPFLAGS) < bld.inf | $(INF2MAKE) 
-md $(TOPDIR)`; \
                        for file in $$MMPFILES; do \
                                echo "Appending target from $$file to $@"; \
                                $(CPP) $(CPPFLAGS) < $$file | $(MMP2MAKE) -t >> 
$(TOPDIR)/$@ && \
                                        echo "-C $(TOPDIR)/$$dir -f $$file.mbs" 
>> $(TOPDIR)/$@; \
                        done; \
                        cd $(TOPDIR); \
                else \
                        echo "Can not change to the directory $$dir" >&2; \
                fi; \
        done

################################################################################

ifneq ($(MAKECMDGOALS), distclean)

ifeq ($(strip $(GENBUILD)),)
$(error Set GENBUILD variable to the genbuild list file)
endif

Makefile.subdirs: $(GENBUILD)
        $(GEN2MAKE) -g $< > $@

-include Makefile.subdirs

endif

################################################################################

distclean:
        rm -f Makefile.subdirs Makefile.targets; \
        find . -iname \*.mbs -print0 | xargs -0 rm -f

.PHONY: all depend distclean $(SUBDIRS)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]