]> git.argeo.org Git - gpl/argeo-slc.git/blob - Makefile-graalvm.mk
ff77cadae87276d0b0d6fddd82a5339e76e8da0c
[gpl/argeo-slc.git] / Makefile-graalvm.mk
1 include sdk.mk
2
3 ## THE BUNDLES MUST FIRST HAVE BEEN BUILT
4
5 A2_CATEGORY = org.argeo.slc
6
7 #GRAALVM_HOME = /opt/graalvm-community-openjdk-17
8 GRAALVM_HOME = /opt/mandrel-java17
9
10 DEP_CATEGORIES = \
11 log/syslogger/org.argeo.tp \
12 org.argeo.tp \
13 org.argeo.tp.httpd \
14 osgi/api/org.argeo.tp.osgi \
15 osgi/equinox/org.argeo.tp.eclipse \
16 swt/rap/org.argeo.tp.swt \
17 org.argeo.cms \
18 swt/org.argeo.cms \
19 swt/rap/org.argeo.cms \
20 swt/rap/org.argeo.slc \
21
22 # $(foreach a2_base, $(A2_BASE), # TODO when ThinLogging is fixed, use deployed jars
23 DEP_JARS = $(foreach category, $(DEP_CATEGORIES), \
24 $(foreach a2_base, $(A2_OUTPUT), \
25 $(shell find $(a2_base)/$(category) -name '*.jar') \
26 ) \
27 )
28 DEP_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(DEP_JARS)))
29
30 graalvm-custom:
31 $(GRAALVM_HOME)/bin/java -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) \
32 graalvm/org.argeo.slc.graalvm/src[-d $(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin]
33
34 #tool-server: osgi graalvm-custom
35 #:$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin
36
37 tool-server: osgi
38 mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY)
39 cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && $(GRAALVM_HOME)/bin/native-image \
40 -cp $(DEP_CLASSPATH) \
41 --enable-url-protocols=http,https \
42 -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider \
43 --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.argeo.init.logging.ThinLogging$LogEntryPublisher,org.slf4j.LoggerFactory \
44 --no-fallback \
45 -Dargeo.logging.synchronous=true \
46 org.argeo.tool.server.ArgeoServer \
47 argeo
48
49 # Use --verbose in order to see whcih configurations are used
50
51 include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk