diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 158 |
1 files changed, 17 insertions, 141 deletions
@@ -1,149 +1,25 @@ -INTO := $(HOME) +ifeq ($(USER),root) +PACKAGES=$(shell cat packages.root) +else +PACKAGES=$(shell cat packages.$$(hostname)) +endif -all : build +build: submodules + @for package in $(PACKAGES); do ./build $${package}; done -include Makefile.$(shell hostname | cut -d. -f1) +install: submodules + @for package in $(PACKAGES); do ./install $${package}; done -INSTALL := \ - $(INSTALL) \ - .abook/abookrc \ - .agignore \ - .bash_profile \ - .bashrc \ - .config/git/config \ - .config/git/ignore \ - .config/mpd/mpd.conf \ - .config/ncmpcpp/bindings \ - .config/sh/aliases \ - .config/sh/cdhist.sh \ - .config/sh/env \ - .config/sh/functions \ - .config/sh/fzf \ - .config/tex/jesse_essay.sty \ - .config/tex/jesse_letter.sty \ - .config/tex/jesse_macros.sty \ - .config/tex/jesse_resume.sty \ - .config/tex/jesse.sty \ - .config/tex/sarah_resume.sty \ - .config/tig/config \ - .config/weechat/saved \ - .config/weechat/extra \ - .config/zsh/local-completions \ - .config/zsh/zsh-autosuggestions \ - .config/zsh/zsh-completions \ - .config/zsh/zsh-syntax-highlighting \ - .crawlrc \ - .gdbinit \ - .inputrc \ - .ledgerrc \ - .less \ - .local/share/fortune \ - .mutt/choose-muttrc-type \ - .mutt/imap \ - .mutt/mailcap \ - .mutt/muttrc \ - .mutt/offlineimap \ - .nethackrc \ - .perlcriticrc \ - .profile \ - .proverc \ - .replyrc \ - .screenrc \ - .ssh/cao_key \ - .tmux.conf \ - .vimrc \ - .zshcomplete \ - .zshinput \ - .zshrc \ - .bin \ - .dzil \ - .vim \ - .weechat/perl \ +uninstall: + @for package in $(PACKAGES); do ./uninstall $${package}; done -EMPTYDIRS := \ - $(EMPTYDIRS) \ - .cache/mutt/headers \ - .cache/mutt/bodies \ - .cache/vim/hist \ - .cache/vim/undo \ +clean: + @for package in $(PACKAGES); do ./clean $${package}; done -INSTALL_CUSTOM := \ - $(INSTALL_CUSTOM) - -BUILD := \ - $(BUILD) \ - $(addsuffix .dat,$(filter-out %.dat,$(wildcard local/share/fortune/*))) \ - $(addsuffix tags,$(wildcard vim/pack/*/start/*/doc/)) \ - vim/spell/en.utf-8.add.spl \ - less - -INSTALLED_SYMLINKS := \ - $(patsubst %,$(INTO)/%,$(INSTALL)) \ - $(INSTALL_CUSTOM) - -INSTALLED_DIRS := \ - $(patsubst %,$(INTO)/%,$(EMPTYDIRS)) - -INSTALLED := \ - $(INSTALLED_SYMLINKS) \ - $(INSTALLED_DIRS) - -ECHO = @echo -LN = @ln -sf -MKDIR = @mkdir -p -RM = @rm -f -RMDIR = @rmdir -p --ignore-fail-on-non-empty - -# named targets - -build : submodules $(BUILD) - -submodules : +submodules: @git submodule update --init --recursive -install :: all $(INSTALLED) - @chmod 600 ssh/cao_key - @chmod 700 gnupg - $(ECHO) Installed into $(INTO) - -clean :: - $(ECHO) Cleaning from $(INTO) - $(RM) $(BUILD) - $(RM) $(INSTALLED_SYMLINKS) - $(RMDIR) $(INSTALLED_DIRS) - -update : - @git submodule foreach '(if [ $$path == "vim/pack/filetype/start/perl" ]; then git checkout dev; else git checkout master; fi) && git pull' - -versions : - @git submodule foreach -q 'printf "%-53s" " $$path" && GIT_PAGER=cat git show -s --format=format:%cI%n $$sha1' - -updates : - @git submodule foreach -q 'if [ $$path == "vim/pack/filetype/start/perl" ]; then if [ $$(git rev-parse dev) != $$sha1 ]; then git lg dev...$$sha1; fi; else if [ $$(git rev-parse master) != $$sha1 ]; then git lg master...$$sha1; fi; fi' - -.PHONY: submodules build install clean update versions updates - -# installation targets - -$(patsubst %,$(INTO)/%,$(EMPTYDIRS)) : - $(MKDIR) $@ - -$(patsubst %,$(INTO)/%,$(INSTALL)) : $(INTO)/.% : % - @[ ! -e $@ ] || [ -h $@ ] || mv -f $@ $@.bak - $(MKDIR) $(dir $@) - $(LN) $(PWD)/$< $@ - -# build targets - -local/share/fortune/%.dat : local/share/fortune/% - $(ECHO) "Compiling $@" - @strfile -s $(basename $@) - -%/doc/tags: %/doc - @vim -u NONE -c':helptags $< | :q' - -%.spl : % - @vim -u NONE -c':mkspell! $< | :q' +update: + @git submodule foreach 'git checkout master && git pull' -less : lesskey - lesskey -o $@ $< +.PHONY: build install uninstall clean submodules update |