first commit
This commit is contained in:
49
Makefile
Normal file
49
Makefile
Normal file
@ -0,0 +1,49 @@
|
||||
# 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
|
||||
|
Reference in New Issue
Block a user