X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=common.mk;h=0328fd5fa56b8fdc1f1900660ca3bd5b8a040e3a;hb=293a2046966b4a709c60b367db83b6083f80eeaf;hp=31177befd566a87b28d09d4f72d355e8135b502d;hpb=37451358d3c486d28f6df404859c1cffdb6f4ed9;p=cc0%2Fargeo-build.git diff --git a/common.mk b/common.mk index 31177be..0328fd5 100644 --- a/common.mk +++ b/common.mk @@ -14,10 +14,6 @@ A2_OUTPUT = $(SDK_BUILD_BASE)/a2 JVM ?= $(JAVA_HOME)/bin/java JAVADOC ?= $(JAVA_HOME)/bin/javadoc -# The following variables have default values which can be overriden -# A2_BASE the space-separated directories where already built a2 categories can be found -A2_BASE ?=$(A2_OUTPUT) /usr/local/share/a2 /usr/share/a2 - # GNU defaults prefix ?= /usr/local datarootdir ?= $(prefix)/share @@ -27,13 +23,35 @@ libdir ?= $(exec_prefix)/lib A2_INSTALL_TARGET ?= $(DESTDIR)$(datarootdir)/a2 A2_NATIVE_INSTALL_TARGET ?= $(DESTDIR)$(libdir)/a2 +# The following variables have default values which can be overriden +# A2_BASE the space-separated directories where already built a2 categories can be found +A2_BASE ?=$(A2_OUTPUT) $(A2_INSTALL_TARGET) $(A2_NATIVE_INSTALL_TARGET) /usr/local/share/a2 /usr/local/lib/a2 /usr/share/a2 /usr/lib/a2 + # OS-speciific KNOWN_ARCHS ?= x86_64 aarch64 TARGET_OS ?= linux TARGET_ARCH ?= $(shell uname -m) -TARGET_OS_CATEGORY_PREFIX=lib/linux +TARGET_OS_CATEGORY_PREFIX=lib/$(TARGET_OS) TARGET_ARCH_CATEGORY_PREFIX=$(TARGET_OS_CATEGORY_PREFIX)/$(TARGET_ARCH) PORTABLE_CATEGORIES=$(filter-out lib/%, $(CATEGORIES)) ARCH_CATEGORIES=$(filter $(TARGET_ARCH_CATEGORY_PREFIX)/%, $(CATEGORIES)) OS_CATEGORIES=$(filter-out $(foreach arch, $(KNOWN_ARCHS), $(TARGET_OS_CATEGORY_PREFIX)/$(arch)/%), $(filter $(TARGET_OS_CATEGORY_PREFIX)/%, $(CATEGORIES))) + +## Utilities +# Install to a target directory without executable bit +INSTALL=install -m644 -D --target-directory +# Always try copy-on-write +COPY=--reflink=auto +# Recursively delete directories +RMDIR=$(RM) -r + +# Make variables used to replace spaces by a separator, typically in order to generate classpaths +# for example: CLASSPATH = $(subst $(space),$(pathsep),$(strip $(JARS))) +null := +space := $(null) # +pathsep := : +define LF + +$(null) +endef