X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=Makefile;h=125c81eb3097315d020decdf6d7593c6e12d9bf3;hb=1bf38659afa8ace4a22e6a31d534bce3f5c9d737;hp=d6bda7804bdc61f1076b9a960f1ba72186770191;hpb=1b8b4c8443356a7a4adc632f391daa8c0ded8053;p=gpl%2Fargeo-slc.git diff --git a/Makefile b/Makefile index d6bda7804..125c81eb3 100644 --- a/Makefile +++ b/Makefile @@ -1,89 +1,69 @@ include sdk.mk -.PHONY: clean all osgi +.PHONY: clean all osgi jni -all: osgi +all: osgi jni + $(MAKE) -f Makefile-rcp.mk all -BUNDLE_PREFIX = org.argeo -A2_CATEGORY = org.argeo +jni: + $(MAKE) -C jni + +A2_CATEGORY = org.argeo.slc BUNDLES = \ org.argeo.slc.api \ -org.argeo.slc.build \ - -BUILD_CLASSPATH = \ -/usr/share/java/osgi-core/osgi.core.jar:$\ -/usr/share/java/osgi-compendium/osgi.cmpn.jar:$\ -/usr/share/java/ecj/ecj.jar:$\ -/usr/share/java/aqute-bnd/biz.aQute.bndlib.jar:$\ -/usr/share/java/slf4j/api.jar:$\ -/usr/share/java/commons-io.jar:$\ -/usr/share/java/commons-cli.jar:$\ -/usr/share/java/commons-exec.jar:$\ - -# TODO relativize from SDK_SRC_BASE -BUILD_BASE = $(SDK_BUILD_BASE) - -# -# GENERIC -# -JVM := /usr/lib/jvm/jre-11/bin/java -JAVADOC := /usr/lib/jvm/jre-11/bin/javadoc -ECJ_JAR := /usr/share/java/ecj/ecj.jar -BND_TOOL := /usr/bin/bnd - -WORKSPACE_BNDS := $(shell cd $(SDK_SRC_BASE) && find cnf -name '*.bnd') -#BND_WORKSPACES := $(foreach bundle, $(BUNDLES), ./$(dir $(bundle))) -BUILD_WORKSPACE_BNDS := $(WORKSPACE_BNDS:%=$(SDK_BUILD_BASE)/%) - -cnf: $(BUILD_WORKSPACE_BNDS) - -A2_BUNDLES = $(BUNDLES:%=$(SDK_BUILD_BASE)/a2/$(A2_CATEGORY)/%.$(MAJOR).$(MINOR).jar) - -#JAVA_SRCS = $(shell find $(BUNDLE_PREFIX).* -name '*.java') -JAVA_SRCS = $(foreach bundle, $(BUNDLES), $(shell find $(bundle) -name '*.java')) -ECJ_SRCS = $(foreach bundle, $(BUNDLES), $(bundle)/src[-d $(BUILD_BASE)/$(bundle)/bin]) - -osgi: cnf $(A2_BUNDLES) +org.argeo.slc.factory \ +org.argeo.slc.runtime \ +org.argeo.slc.cms \ +org.argeo.slc.repo \ +org.argeo.slc.rpmfactory \ +org.argeo.slc.jcr \ +swt/org.argeo.tool.swt \ +swt/org.argeo.tool.devops.e4 \ +swt/rap/org.argeo.tool.rap.cli \ +swt/rap/org.argeo.tool.server \ + +DEP_CATEGORIES = \ +org.argeo.tp \ +org.argeo.tp.sdk \ +org.argeo.tp.crypto \ +org.argeo.tp.jetty \ +org.argeo.tp.sql \ +org.argeo.tp.utils \ +org.argeo.tp.jcr \ +org.argeo.tp.gis \ +osgi/api/org.argeo.tp.osgi \ +osgi/equinox/org.argeo.tp.eclipse \ +swt/rap/org.argeo.tp.swt \ +swt/rap/org.argeo.tp.swt.workbench \ +org.argeo.cms \ +org.argeo.cms.jcr \ +swt/org.argeo.cms \ +swt/org.argeo.cms.jcr \ +swt/rap/org.argeo.cms \ clean: - rm -rf $(BUILD_BASE)/*-compiled - rm -rf $(BUILD_BASE)/{cnf,a2} - rm -rf $(BUILD_BASE)/$(BUNDLE_PREFIX).* - -# SDK level -$(SDK_BUILD_BASE)/cnf/%.bnd: cnf/%.bnd - mkdir -p $(dir $@) - cp $< $@ - -$(SDK_BUILD_BASE)/eclipse/cnf/%.bnd: cnf/%.bnd - mkdir -p $(dir $@) - cp $< $@ - -$(SDK_BUILD_BASE)/rcp/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 $@ - -null := -space := $(null) # -pathsep := : - -#WITH_LIST := $(subst $(space),$(pathsep),$(strip $(WITH_LIST))) - + rm -rf $(BUILD_BASE) + $(MAKE) -C jni clean + $(MAKE) -f Makefile-rcp.mk clean + +GRAALVM_HOME = /opt/graalvm-ce +A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES))) + +graalvm-custom: + $(GRAALVM_HOME)/bin/java -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) \ + graalvm/org.argeo.slc.graalvm/src[-d $(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin] + +tool-server: osgi graalvm-custom + 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 \ + --enable-url-protocols=http,https \ + -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider \ + --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \ + --no-fallback \ + -Dargeo.logging.synchronous=true \ + org.argeo.tool.server.ArgeoServer \ + argeo + + +include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk \ No newline at end of file