make-rules/justmake.mk
changeset 5331 9c955076ffe3
parent 5125 34cc580c62c2
child 5682 94c0ca64c022
--- a/make-rules/justmake.mk	Mon Jan 25 15:32:12 2016 -0800
+++ b/make-rules/justmake.mk	Thu Jan 21 09:20:59 2016 -0800
@@ -36,8 +36,9 @@
 #
 # Any additional pre/post configure, build, or install actions can be specified
 # in your Makefile by setting them in on of the following macros:
-#	COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
-#	COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
+#	COMPONENT_PRE_BUILD_ACTION, COMPONENT_BUILD_ACTION,
+#	COMPONENT_POST_BUILD_ACTION, COMPONENT_PRE_INSTALL_ACTION,
+#	COMPONENT_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
 #
 # If component specific make targets need to be used for build or install, they
 # can be specified in
@@ -47,24 +48,30 @@
 COMPONENT_INSTALL_ARGS += DESTDIR=$(PROTO_DIR)
 COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS))
 
+COMPONENT_BUILD_ACTION ?= \
+	cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
+	$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS)
+
 # build the configured source
 $(BUILD_DIR)/%/.built:	$(SOURCE_DIR)/.prep
 	$(RM) -r $(@D) ; $(MKDIR) $(@D)
 	$(CLONEY) $(SOURCE_DIR) $(@D)
 	$(COMPONENT_PRE_BUILD_ACTION)
-	(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
-		$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
+	($(COMPONENT_BUILD_ACTION))
 	$(COMPONENT_POST_BUILD_ACTION)
 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
 	-$(PARFAIT) $(@D)
 endif
 	$(TOUCH) $@
 
+COMPONENT_INSTALL_ACTION ?= \
+	cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
+	$(GMAKE) $(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS)
+
 # install the built source into a prototype area
 $(BUILD_DIR)/%/.installed:	$(BUILD_DIR)/%/.built
 	$(COMPONENT_PRE_INSTALL_ACTION)
-	(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
-			$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
+	($(COMPONENT_INSTALL_ACTION))
 	$(COMPONENT_POST_INSTALL_ACTION)
 	$(TOUCH) $@