Introduce RMDIR
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 10:49:28 +0000 (11:49 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 6 Mar 2024 10:49:28 +0000 (11:49 +0100)
common.mk
repackage.mk

index c30d011faa8fc4750b69e07e29c33ce68cf83f68..07f2e9da3cd6fca17d966140ce1a0cf6bac52c06 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -38,8 +38,13 @@ 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)))
index d7a130e33e6ab0c766846798b2a4e9d2b7eacdd9..c1ca8ac7f505bed51e1fcd122f714ded9127a609 100644 (file)
@@ -29,14 +29,14 @@ install:
        @echo Installed arch binaries \'$(ARCH_CATEGORIES)\' to $(A2_NATIVE_INSTALL_TARGET)
 
 uninstall:
-       $(foreach category, $(PORTABLE_CATEGORIES), $(RM) $(A2_INSTALL_TARGET)/$(category);$(LF))
+       $(foreach category, $(PORTABLE_CATEGORIES), $(RMDIR) $(A2_INSTALL_TARGET)/$(category);$(LF))
        @echo Uninstalled portable jars \'$(PORTABLE_CATEGORIES)\' to $(A2_INSTALL_TARGET)
-       $(foreach category, $(OS_CATEGORIES), $(RM) $(A2_INSTALL_TARGET)/$(category:$(TARGET_OS_CATEGORY_PREFIX)/%=%);$(LF))
+       $(foreach category, $(OS_CATEGORIES), $(RMDIR) $(A2_INSTALL_TARGET)/$(category:$(TARGET_OS_CATEGORY_PREFIX)/%=%);$(LF))
        @echo Uninstalled OS-dependent jars \'$(OS_CATEGORIES)\' to $(A2_INSTALL_TARGET)
-       $(foreach category, $(ARCH_CATEGORIES), $(RM) $(A2_NATIVE_INSTALL_TARGET)/$(category:$(TARGET_ARCH_CATEGORY_PREFIX)/%=%);$(LF))
+       $(foreach category, $(ARCH_CATEGORIES), $(RMDIR) $(A2_NATIVE_INSTALL_TARGET)/$(category:$(TARGET_ARCH_CATEGORY_PREFIX)/%=%);$(LF))
        @echo Uninstalled arch-dependent jars \'$(ARCH_CATEGORIES)\' to $(A2_NATIVE_INSTALL_TARGET)
        $(foreach category, $(ARCH_CATEGORIES), \
-        $(foreach libfile, $(wildcard $(A2_OUTPUT)/$(category)/*.so), $(RM) $(A2_NATIVE_INSTALL_TARGET)/$(notdir $(libfile));$(LF)) \
+        $(foreach libfile, $(wildcard $(A2_OUTPUT)/$(category)/*.so), $(RMDIR) $(A2_NATIVE_INSTALL_TARGET)/$(notdir $(libfile));$(LF)) \
        )
        @echo Uninstalled arch binaries \'$(ARCH_CATEGORIES)\' to $(A2_NATIVE_INSTALL_TARGET)
        @find $(A2_INSTALL_TARGET) -empty -type d -delete