On Wednesday 23 March 2005 12:01, Adam Heath wrote:
> install: $(patsubst %,install.%,$(SUBDIRS))
> $(patsubst %,install.%,$(SUBDIRS)): install.%: CMD := install
>
> all: $(patsubst %,all.%,$(SUBDIRS))
> $(patsubst %,all.%,$(SUBDIRS)): all.%: CMD := all
>
> $(foreach cmd,all install,$(patsubst %,$(cmd).%,$(SUBDIRS))):
> $(MAKE) -C $* $(CMD)
The following is working for me and I think easier to read than the above:
==
CLEANDIRS := $(addprefix _clean_,$(SUBDIRS))
.PHONY: all clean $(SUBDIRS) $(CLEANDIRS)
all: $(SUBDIRS)
clean: $(CLEANDIRS)
$(CLEANDIRS):
$(MAKE) -C $(patsubst _clean_%,%,$@) clean
$(SUBDIRS):
$(MAKE) -C $@
==
Well, I guess it's not very dissimilar after all.
But I really don't like that for every command to recurse with (e.g. clean),
you must add more hackery to the Makefile. Your snippet has the same problem
(let's add "clean"...), and it seems all the Makefiles have all the issues
discussed in different places.
Is there really no better way to solve this problem?
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------
This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005
Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows
Embedded(r) & Windows Mobile(tm) platforms, applications & content. Register
by 3/29 & save $300 http://ads.osdn.com/?ad_id=6883&alloc_id=15149&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|