Improve CLI and GraalVM architecture.
[gpl/argeo-slc.git] / Makefile-rcp.mk
diff --git a/Makefile-rcp.mk b/Makefile-rcp.mk
new file mode 100644 (file)
index 0000000..717ef5a
--- /dev/null
@@ -0,0 +1,48 @@
+include sdk.mk
+.PHONY: clean all osgi
+
+all: osgi
+
+A2_CATEGORY = org.argeo.slc
+
+BUNDLES = \
+swt/rcp/org.argeo.tool.desktop \
+
+VPATH = .:cms:swt/rcp
+
+clean:
+       rm -rf $(BUILD_BASE)
+
+A2_OUTPUT = $(SDK_BUILD_BASE)/a2
+A2_BASE = $(A2_OUTPUT)
+
+DEP_CATEGORIES = \
+org.argeo.tp \
+org.argeo.tp.sdk \
+org.argeo.tp.apache \
+org.argeo.tp.jetty \
+org.argeo.tp.eclipse \
+osgi/api/org.argeo.tp.osgi \
+swt/rcp/org.argeo.tp.swt \
+lib/linux/x86_64/swt/rcp/org.argeo.tp.swt \
+swt/rcp/org.argeo.tp.swt.workbench \
+org.argeo.cms \
+org.argeo.cms.eclipse.rcp \
+
+GRAALVM_HOME = /opt/graalvm-ce
+A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
+
+tool-desktop:
+       mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY)
+       cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && $(GRAALVM_HOME)/bin/native-image \
+               -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH):$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin \
+               --features=org.argeo.slc.graalvm.feature.ArgeoToolFeature \
+               --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 \
+                org.argeo.tool.desktop.ArgeoDesktop \
+                argeo-desktop
+
+include  $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file