35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| DOTPATH    := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
 | |
| CANDIDATES := $(wildcard .??*) 
 | |
| EXCLUSIONS := .DS_Store .git .gitmodules .gitignore init 
 | |
| DOTFILES   := $(filter-out $(EXCLUSIONS), $(CANDIDATES))
 | |
| 
 | |
| all: install
 | |
| 
 | |
| help:
 | |
| 	@echo "make list           #=> Show dot files in this repo"
 | |
| 	@echo "make deploy         #=> Create symlink to home directory"
 | |
| 	@echo "make update         #=> Fetch changes for this repo"
 | |
| 	@echo "make install        #=> Run make update, deploy, init"
 | |
| 	@echo "make clean          #=> Remove the dot files and this repo"
 | |
| 
 | |
| list:
 | |
| 	@$(foreach val, $(DOTFILES), /bin/ls -dF $(val);)
 | |
| 
 | |
| deploy:
 | |
| 	@echo '==> Start to deploy dotfiles to home directory.'
 | |
| 	@echo ''
 | |
| 	@$(foreach val, $(DOTFILES), ln -sfnv $(abspath $(val)) $(HOME)/$(val);)
 | |
| 
 | |
| update:
 | |
| 	git pull origin master
 | |
| 	git submodule init
 | |
| 	git submodule update
 | |
| 	git submodule foreach git pull origin master
 | |
| 
 | |
| install: update deploy
 | |
| 	@exec $$SHELL
 | |
| 
 | |
| clean:
 | |
| 	@echo 'Remove dot files in your home directory...'
 | |
| 	@-$(foreach val, $(DOTFILES), rm -vrf $(HOME)/$(val);)
 | |
| 	-rm -rf $(DOTPATH)
 |