50 lines
1.7 KiB
Makefile
50 lines
1.7 KiB
Makefile
# Makefile hybride avec support de PREFIX et fallback utilisateur
|
||
|
||
SCRIPT = smbmount
|
||
COMPLETION = smbmount.bash
|
||
|
||
PREFIX ?= /usr/local
|
||
BINDIR = $(PREFIX)/bin
|
||
COMPDIR = /etc/bash_completion.d # Bash completion n’est pas sous PREFIX
|
||
|
||
# Répertoires utilisateur
|
||
USR_BINDIR = $(HOME)/.local/bin
|
||
USR_COMPDIR = $(HOME)/.bash_completion.d
|
||
|
||
.PHONY: all install install-sys install-user uninstall
|
||
|
||
all:
|
||
@echo "Utilisez 'make install' pour installer $(SCRIPT) avec fallback utilisateur si nécessaire."
|
||
|
||
install:
|
||
@echo "Tentative d'installation dans $(BINDIR)..."
|
||
@if [ -w "$(BINDIR)" ] && [ -w "$(COMPDIR)" ]; then \
|
||
$(MAKE) install-sys BINDIR=$(BINDIR) COMPDIR=$(COMPDIR); \
|
||
else \
|
||
echo "Pas d'accès en écriture à $(BINDIR) ou $(COMPDIR), installation utilisateur..."; \
|
||
$(MAKE) install-user; \
|
||
fi
|
||
|
||
install-sys:
|
||
@echo "Installation dans $(BINDIR) et $(COMPDIR)..."
|
||
install -d $(BINDIR) $(COMPDIR)
|
||
install -m 0755 $(SCRIPT) $(BINDIR)/$(SCRIPT)
|
||
install -m 0644 $(COMPLETION) $(COMPDIR)/$(SCRIPT)
|
||
|
||
install-user:
|
||
@echo "Installation utilisateur dans $(USR_BINDIR) et $(USR_COMPDIR)..."
|
||
install -d $(USR_BINDIR) $(USR_COMPDIR)
|
||
install -m 0755 $(SCRIPT) $(USR_BINDIR)/$(SCRIPT)
|
||
install -m 0644 $(COMPLETION) $(USR_COMPDIR)/$(SCRIPT)
|
||
@echo "Ajoutez à votre ~/.bashrc si nécessaire :"
|
||
@echo ' export PATH="$$HOME/.local/bin:$$PATH"'
|
||
@echo ' [ -f "$$HOME/.bash_completion.d/$(SCRIPT)" ] && source "$$HOME/.bash_completion.d/$(SCRIPT)"'
|
||
|
||
uninstall:
|
||
@echo "Suppression de $(SCRIPT) côté système et utilisateur..."
|
||
rm -f $(BINDIR)/$(SCRIPT) 2>/dev/null || true
|
||
rm -f $(COMPDIR)/$(SCRIPT) 2>/dev/null || true
|
||
rm -f $(USR_BINDIR)/$(SCRIPT) 2>/dev/null || true
|
||
rm -f $(USR_COMPDIR)/$(SCRIPT) 2>/dev/null || true
|
||
|