proper error handling in package/Makefile
[openwrt.git] / openwrt / package / Makefile
index 0bddabb..1bdbbbf 100644 (file)
@@ -442,30 +442,44 @@ $(TARGET_DIR):
 
 %-prepare: $(STAMP_DIR) $(TARGET_DIR)
        @[ -f $(STAMP_DIR)/.$@ ] || { \
-               $(TRACE) package/$(patsubst %-prepare,%,$@)/prepare; \
-               $(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
+               $(START_TRACE) "package/$(patsubst %-prepare,%,$@)/prepare: "; \
+               $(MAKE) -C $(patsubst %-prepare,%,$@) prepare && { \
+                       touch $(STAMP_DIR)/.$@; \
+               } || { \
+                       $(CMD_TRACE) " done"; \
+                       $(END_TRACE); \
+               } \
        }
-       @touch $(STAMP_DIR)/.$@
 
 %-compile:
        @[ -f $(STAMP_DIR)/.$@ ] || { \
-               $(TRACE) package/$(patsubst %-compile,%,$@)/compile; \
-               $(MAKE) -C $(patsubst %-compile,%,$@) compile; \
+               $(START_TRACE) "package/$(patsubst %-compile,%,$@)/compile: "; \
+               $(MAKE) -C $(patsubst %-compile,%,$@) compile && { \
+                       touch $(STAMP_DIR)/.$(patsubst %-compile,%,$@)-prepare; \
+                       touch $(STAMP_DIR)/.$@; \
+               } || { \
+                       $(CMD_TRACE) " done"; \
+                       $(END_TRACE); \
+               } \
        }
-       @touch $(STAMP_DIR)/.$(patsubst %-compile,%,$@)-prepare
-       @touch $(STAMP_DIR)/.$@
 
 %-install: %-compile
-       @$(TRACE) package/$(patsubst %-install,%,$@)/install
+       @$(START_TRACE) "package/$(patsubst %-install,%,$@)/install: "
        @$(MAKE) -C $(patsubst %-install,%,$@) install
+       @$(CMD_TRACE) " done"
+       @$(END_TRACE)
 
 %-rebuild: 
-       @$(TRACE) package/$(patsubst %-rebuild,%,$@)/rebuild
+       @$(START_TRACE) "package/$(patsubst %-rebuild,%,$@)/rebuild: "
        @rm -f $(STAMP_DIR)/.$(patsubst %-rebuild,%,$@)-*
        $(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild
+       @$(CMD_TRACE) " done"
+       @$(END_TRACE)
 
 %-clean:
-       @$(TRACE) package/$(patsubst %-clean,%,$@)/clean
+       @$(START_TRACE) "package/$(patsubst %-clean,%,$@)/clean: "
        @$(MAKE) -C $(patsubst %-clean,%,$@) clean
        @rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-*
+       @$(CMD_TRACE) " done"
+       @$(END_TRACE)
 
This page took 0.023477 seconds and 4 git commands to generate.