-%-source: $(STAMP_DIR) $(TARGET_DIR)
- $(MAKE) -C $(patsubst %-source,%,$@) source MAKEFLAGS="$(BUILD_MAKEFLAGS)"
-
-%-prepare: $(STAMP_DIR) $(TARGET_DIR)
- $(MAKE) -C $(patsubst %-prepare,%,$@) prepare MAKEFLAGS="$(BUILD_MAKEFLAGS)"
-
-%-compile: $(STAMP_DIR) $(TARGET_DIR)
- $(MAKE) -C $(patsubst %-compile,%,$@) compile MAKEFLAGS="$(BUILD_MAKEFLAGS)"
-
-%-install: $(STAMP_DIR) $(TARGET_DIR)
- $(MAKE) -C $(patsubst %-install,%,$@) install MAKEFLAGS="$(BUILD_MAKEFLAGS)"
-
-%-clean: $(STAMP_DIR) $(TARGET_DIR)
- $(MAKE) -C $(patsubst %-clean,%,$@) clean MAKEFLAGS="$(BUILD_MAKEFLAGS)"
+ifeq ($(QUIET),1)
+%-compile %-install: FORCE
+ $(MAKE) -C $* $(patsubst $*-%,%,$@) || { $(call MESSAGE, "*** $* $(patsubst $*-%,%,$@) failed"); false; }