X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=repackage.mk;h=5a14bb727bac006f3e887aaf24f6b74d0636e7a5;hb=08bc9ba6656515e235eb269c31bc2b1e93748055;hp=e1846b72aee284473fa202087c5710e5f185dda7;hpb=d64cff388f534c0ef0b4a7891950f6c03c1dd3a7;p=cc0%2Fargeo-build.git diff --git a/repackage.mk b/repackage.mk index e1846b7..5a14bb7 100644 --- a/repackage.mk +++ b/repackage.mk @@ -7,7 +7,7 @@ include $(ARGEO_BUILD_BASE)common.mk # SDK_SRC_BASE the base of the source code, typically the root of the cloned git repository # SDK_BUILD_BASE the base of the output # JAVA_HOME the base of the JDK used to build -A2_OUTPUT ?= $(SDK_BUILD_BASE)/a2 +A2_OUTPUT = $(SDK_BUILD_BASE)/a2 JVM ?= $(JAVA_HOME)/bin/java # The following variables should be declared in the including Makefile: @@ -25,16 +25,26 @@ BNDLIB_JAR ?= $(lastword $(foreach base, $(A2_BASE), $(wildcard $(base)/org.arge ARGEO_REPACKAGE = $(JVM) -cp $(LOGGER_JAR):$(BNDLIB_JAR) $(ARGEO_BUILD_BASE)src/org/argeo/build/Repackage.java TODOS_REPACKAGE = $(foreach category, $(CATEGORIES),$(BUILD_BASE)/$(category)/to-repackage) BUILD_BASE = $(SDK_BUILD_BASE)/$(shell basename $(SDK_SRC_BASE)) +REPACKAGED_CATEGORIES = $(foreach category, $(CATEGORIES),$(A2_OUTPUT)/$(category)) all: $(BUILD_BASE)/repackaged +install: + @$(foreach category, $(CATEGORIES), mkdir -p $(A2_INSTALL_TARGET)/$(category); cp $(A2_OUTPUT)/$(category)/*.jar $(A2_INSTALL_TARGET)/$(category);) + @echo Installed $(CATEGORIES) to $(A2_INSTALL_TARGET) + +uninstall: + @$(foreach category, $(CATEGORIES), rm -rf $(A2_INSTALL_TARGET)/$(category);) + @find $(A2_INSTALL_TARGET) -empty -type d -delete + @echo Uninstalled $(CATEGORIES) from $(A2_INSTALL_TARGET) + .SECONDEXPANSION: # We use .SECONDEXPANSION and CATEGORIES_TO_REPACKAGE instead of directly CATEGORIES # so that we don't repackage a category if it hasn't changed $(BUILD_BASE)/repackaged : CATEGORIES_TO_REPACKAGE = $(subst $(abspath $(BUILD_BASE))/,, $(subst to-repackage,, $?)) $(BUILD_BASE)/repackaged : $(TODOS_REPACKAGE) - $(ARGEO_REPACKAGE) $(A2_OUTPUT) $(CATEGORIES_TO_REPACKAGE) - touch $(BUILD_BASE)/repackaged + @$(ARGEO_REPACKAGE) $(A2_OUTPUT) $(CATEGORIES_TO_REPACKAGE) + @touch $(BUILD_BASE)/repackaged $(BUILD_BASE)/%/to-repackage : $$(shell find % -type f ) @rm -rf $(dir $@) @@ -42,5 +52,5 @@ $(BUILD_BASE)/%/to-repackage : $$(shell find % -type f ) @touch $@ clean: - $(foreach category, $(CATEGORIES), rm -rf $(BUILD_BASE)/$(category)) - rm -f $(BUILD_BASE)/repackaged + @$(foreach category, $(CATEGORIES), rm -rf $(BUILD_BASE)/$(category)) + @rm -f $(BUILD_BASE)/repackaged