config/git/Makefile
2019-11-28 11:10:46 +01:00

52 lines
998 B
Makefile

GIT_BIN=/usr/bin/git
PACKAGE=git
CUSTOM_BINS= $(wildcard bin/*)
GIT_CONFIG=config
GIT_CONFIG_OUT=$(HOME)/.config/git/config
GIT_GLOBAL_CONFIG=$(HOME)/.gitconfig
CONFIG_DIR=$(HOME)/.config/git
HOME_BIN_DIR=$(HOME)/bin
ROOT_APT=sudo aptitude
OUT=$(GIT_CONFIG_OUT)
.PHONY: clean_install
clean_install: clean install
install: $(GIT_BIN) install_bins config
clean: clean_config clean_package clean_bins
$(GIT_BIN):
$(ROOT_APT) install $(PACKAGE)
install_bins: $(HOME_BIN_DIR)
cp $(CUSTOM_BINS) $(HOME_BIN_DIR)
.ONESHELL:
config: $(CONFIG_DIR) $(GIT_BIN)
ifeq ("$(wildcard $(GIT_GLOBAL_CONFIG))","")
rm -f $(GIT_CONFIG_OUT)
echo "Please provide email address for git"
read EMAIL
git config --global user.email $${EMAIL}
endif
cp $(GIT_CONFIG) $(GIT_CONFIG_OUT)
$(CONFIG_DIR):
mkdir -p $(CONFIG_DIR)
$(HOME_BIN_DIR):
mkdir -p $(HOME_BIN_DIR)
clean_package:
$(ROOT_APT) purge $(PACKAGE)
clean_config:
rm -f $(GIT_CONFIG_OUT)
clean_bins:
rm -f $(CUSTOM_BINS:bin%=$(HOME_BIN_DIR)%)