From e03e0965db6fb5b8e7968bbe0c049bdbb33f9df4 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 6 Mar 2024 11:49:28 +0100 Subject: [PATCH] Introduce RMDIR --- common.mk | 7 ++++++- repackage.mk | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/common.mk b/common.mk index c30d011..07f2e9d 100644 --- 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))) diff --git a/repackage.mk b/repackage.mk index d7a130e..c1ca8ac 100644 --- a/repackage.mk +++ b/repackage.mk @@ -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 -- 2.30.2