- rm -rf $(BUILD_BASE)/*-compiled
- rm -rf $(BUILD_BASE)/{cnf,a2}
- rm -rf $(BUILD_BASE)/$(BUNDLE_PREFIX).*
- $(foreach dir, $(NATIVE_PROJECTS), $(MAKE) -C $(dir) clean;)
-
-# SDK level
-$(SDK_BUILD_BASE)/cnf/%.bnd: cnf/%.bnd
- mkdir -p $(dir $@)
- cp $< $@
-
-$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar : $(BUILD_BASE)/%/bundle.jar
- mkdir -p $(dir $@)
- cp $< $@
-
-# Build level
-$(BUILD_BASE)/%/bundle.jar : %/bnd.bnd $(BUILD_BASE)/java-compiled
- rsync -r --exclude "*.java" $(dir $<)src/ $(dir $@)bin
- rsync -r $(dir $<)src/ $(dir $@)src
- if [ -d "$(dir $<)OSGI-INF" ]; then rsync -r $(dir $<)OSGI-INF/ $(dir $@)/OSGI-INF; fi
- cp $< $(dir $@)
- cd $(dir $@) && $(BND_TOOL) build
- mv $(dir $@)generated/*.jar $(dir $@)bundle.jar
-
-$(BUILD_BASE)/java-compiled : $(JAVA_SRCS)
- $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(BUILD_CLASSPATH) \
- $(ECJ_SRCS)
- touch $@
+ rm -rf $(BUILD_BASE)
+ $(MAKE) -C jni clean
+ $(MAKE) -f Makefile-rcp.mk clean
+
+A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
+
+native-image:
+ mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY)
+# cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && /opt/graalvm-ce/bin/native-image \
+ -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH) org.argeo.eclipse.ui.jetty.CmsRapCli \
+ --enable-url-protocols=http,https \
+ -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider,org.bouncycastle.jce.provider.BouncyCastleProvider,net.i2p.crypto.eddsa.EdDSASecurityProvider \
+ --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \
+ --no-fallback
+ cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && /opt/graalvm-ce/bin/native-image \
+ -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH) org.argeo.cms.ux.cli.FileSync \
+ --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \
+ --no-fallback
+
+
+include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file