Simplify and improve TP packaging
[gpl/argeo-tp.git] / repackage / Makefile
index 40aef3e534666a4cb6a9d339b25b6da0ab042efa..2985e0d1543823373d6fe2518bfa3815231fbef5 100644 (file)
@@ -1,8 +1,6 @@
 include ../sdk.mk
 .PHONY: clean all
 
-all: distribution
-
 BOOTSTRAP_BASE=$(SDK_BUILD_BASE)/bootstrap
 
 A2_OUTPUT = $(SDK_BUILD_BASE)/a2
@@ -29,22 +27,29 @@ org.argeo.tp.formats \
 org.argeo.tp.poi \
 org.argeo.tp.gis \
 
+TODOS_REPACKAGE = $(foreach category, $(CATEGORIES),$(BUILD_BASE)/$(category)/to-repackage) 
+
+BUILD_BASE = $(SDK_BUILD_BASE)/$(shell basename $(SDK_SRC_BASE))
+
+all: $(BUILD_BASE)/repackaged 
 
-distribution:
+.SECONDEXPANSION:
+
+$(BUILD_BASE)/repackaged : CATEGORIES_TO_REPACKAGE = $(subst $(abspath $(BUILD_BASE))/,, $(subst to-repackage,, $?))
+$(BUILD_BASE)/repackaged : $(TODOS_REPACKAGE)
        $(JVM) -cp \
-        $(BOOTSTRAP_BASE)/bndlib.jar:$(BOOTSTRAP_BASE)/slf4j-api.jar:$(BOOTSTRAP_BASE)/org.argeo.slc.api/bin:$(BOOTSTRAP_BASE)/org.argeo.slc.factory/bin \
-        $(SDK_SRC_BASE)/sdk/argeo-build/src/org/argeo/build/Repackage.java $(A2_OUTPUT) $(CATEGORIES)
+        $(BOOTSTRAP_BASE)/bndlib.jar:$(BOOTSTRAP_BASE)/slf4j-api.jar \
+        $(SDK_SRC_BASE)/sdk/argeo-build/src/org/argeo/build/Repackage.java $(A2_OUTPUT) $(CATEGORIES_TO_REPACKAGE)
+       touch $(BUILD_BASE)/repackaged
+
+$(BUILD_BASE)/%/to-repackage : $$(shell find % -type f )
+       @rm -rf $(dir $@)
+       @mkdir -p $(dir $@) 
+       @touch $@
 
 clean:
-       rm -rf $(A2_OUTPUT)/org.argeo.tp
-       rm -rf $(A2_OUTPUT)/org.argeo.tp.*
-       rm -rf $(A2_OUTPUT)/*/org.argeo.tp
-       rm -rf $(A2_OUTPUT)/*/org.argeo.tp.*
-       rm -rf $(A2_OUTPUT)/*/*/org.argeo.tp
-       rm -rf $(A2_OUTPUT)/*/*/org.argeo.tp.*
-       rm -rf $(A2_OUTPUT)/*/*/*/org.argeo.tp
-       rm -rf $(A2_OUTPUT)/*/*/*/org.argeo.tp.*
-       rm -rf $(A2_OUTPUT)/*/*/*/*/org.argeo.tp
-       rm -rf $(A2_OUTPUT)/*/*/*/*/org.argeo.tp.*
+       $(foreach category, $(CATEGORIES), rm -rf $(A2_OUTPUT)/$(category))
+       $(foreach category, $(CATEGORIES), rm -rf $(BUILD_BASE)/$(category))
+       rm -f $(BUILD_BASE)/repackaged
 
 include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file