dotfiles/makefile

29 lines
815 B
Makefile

SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
cmd_exist = $(shell (command -v $(1) 1>&2 >/dev/null && echo true || echo false) )
install: | init update
init: vim_init tmux_init ssh_init
@ ln -svf $(SRC_DIR)/bin/post-merge $(SRC_DIR)/.git/hooks/post-merge
update: vim_update
ssh_init:
$(info => Setting up ssh config)
@ ! [ -e ~/.ssh/config ] \
&& ln -svf $(SRC_DIR)/ssh/config ~/.ssh/config \
|| echo " ~/.ssh/config already exist. Skipping."
tmux_init:
$(info => Setting up tmux)
@ [ $(call cmd_exist,'tmux') ] \
&& ! [ -e ~/.tmux.conf ] \
&& ln -svf $(SRC_DIR)/tmux/tmux.conf ~/.tmux.conf \
|| echo " ~/.tmux.conf already exist. Skipping."
vim_init:
@ $(MAKE) -C $(SRC_DIR)/vim init
vim_update:
@ $(MAKE) -C $(SRC_DIR)/vim update
.PHONY: install update init foo