Compatibility with BSD Make
[cc0/argeo-build.git] / common.mk
index 95813d453d585a2350c22ed3bf9fd35137274577..b7a0d63613ecaa66c5da5106a88e3443465ccdf8 100644 (file)
--- 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,24 +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
+## 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
+#define LF
+#
+#$(null)
+#endef