# 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