Introduce generic JNI build
[cc0/argeo-build.git] / common.mk
index 5ba68deeb9c903ec884baa1fc6ebcd1d7334f057..c1051007f412fbb029df83902970395d26939f2a 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -9,15 +9,19 @@ SYSLOGGER_BRANCH=$(build-major).$(build-minor)
 # GNU defaults
 prefix ?= /usr/local
 datarootdir ?= $(prefix)/share
+exec_prefix ?= $(prefix)
 libdir ?= $(exec_prefix)/lib
 
 A2_INSTALL_TARGET ?= $(DESTDIR)$(datarootdir)/a2
 A2_NATIVE_INSTALL_TARGET ?= $(DESTDIR)$(libdir)/a2
 
 # OS-speciific
-OS_CATEGORY_PREFIX=lib/linux
-ARCH_CATEGORY_PREFIX=$(OS_CATEGORY_PREFIX)/$(shell uname -m)
+KNOWN_ARCHS ?= x86_64 aarch64
+TARGET_OS ?= linux
+TARGET_ARCH ?= $(shell uname -m)
 
-PORTABLE_CATEGORIES=$(filter-out $(OS_CATEGORY_PREFIX)/%, $(CATEGORIES))
-ARCH_CATEGORIES=$(filter $(ARCH_CATEGORY_PREFIX)/%, $(CATEGORIES))
-OS_CATEGORIES=$(filter-out $(ARCH_CATEGORY_PREFIX)/%, $(filter $(OS_CATEGORY_PREFIX)/%, $(CATEGORIES)))
\ No newline at end of file
+TARGET_OS_CATEGORY_PREFIX=lib/linux
+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)))
\ No newline at end of file