Improve native install
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 06:05:53 +0000 (07:05 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 06:05:53 +0000 (07:05 +0100)
common.mk
repackage.mk

index 46b03984697b9a2ce6049b2f36a5af5a1fb7e778..5ba68deeb9c903ec884baa1fc6ebcd1d7334f057 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -9,5 +9,15 @@ SYSLOGGER_BRANCH=$(build-major).$(build-minor)
 # GNU defaults
 prefix ?= /usr/local
 datarootdir ?= $(prefix)/share
+libdir ?= $(exec_prefix)/lib
 
-A2_INSTALL_TARGET ?= $(DESTDIR)$(datarootdir)/a2
\ No newline at end of file
+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)
+
+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
index 5a14bb727bac006f3e887aaf24f6b74d0636e7a5..228f6ed8c813fcc56b276d3000677e973cbef0be 100644 (file)
@@ -30,8 +30,13 @@ REPACKAGED_CATEGORIES = $(foreach category, $(CATEGORIES),$(A2_OUTPUT)/$(categor
 all: $(BUILD_BASE)/repackaged 
 
 install:
-       @$(foreach category, $(CATEGORIES), mkdir -p $(A2_INSTALL_TARGET)/$(category);  cp $(A2_OUTPUT)/$(category)/*.jar $(A2_INSTALL_TARGET)/$(category);)
-       @echo Installed $(CATEGORIES) to $(A2_INSTALL_TARGET)
+       @$(foreach category, $(PORTABLE_CATEGORIES), mkdir -p $(A2_INSTALL_TARGET)/$(category);  cp $(A2_OUTPUT)/$(category)/*.jar $(A2_INSTALL_TARGET)/$(category);)
+       @echo Installed $(PORTABLE_CATEGORIES) to $(A2_INSTALL_TARGET)
+       @$(foreach category, $(OS_CATEGORIES), mkdir -p $(A2_INSTALL_TARGET)/$(category);  cp $(A2_OUTPUT)/$(category)/*.jar $(A2_INSTALL_TARGET)/$(category);)
+       @echo Installed $(OS_CATEGORIES) to $(A2_INSTALL_TARGET)
+       mkdir -p $(A2_NATIVE_INSTALL_TARGET)
+       @$(foreach category, $(ARCH_CATEGORIES), cp $(A2_OUTPUT)/$(category)/*.so $(A2_NATIVE_INSTALL_TARGET);)
+       @echo Installed $(ARCH_CATEGORIES) to $(A2_NATIVE_INSTALL_TARGET)
 
 uninstall:
        @$(foreach category, $(CATEGORIES), rm -rf $(A2_INSTALL_TARGET)/$(category);)