diff --git a/Makefile b/Makefile index 2a5425e6ad..3a69a0494d 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,12 @@ else DOCS= endif -all: dyngen$(EXESUF) $(TOOLS) $(DOCS) - for d in $(TARGET_DIRS); do \ - $(MAKE) -C $$d $@ || exit 1 ; \ - done +subdir-%: dyngen$(EXESUF) + $(MAKE) -C $(subst subdir-,,$@) all + +recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS)) + +all: $(TOOLS) $(DOCS) recurse-all qemu-img$(EXESUF): qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c $(CC) -DQEMU_TOOL $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ -lz $(LIBS)