summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile158
1 files changed, 17 insertions, 141 deletions
diff --git a/Makefile b/Makefile
index d49a917..303b645 100644
--- a/Makefile
+++ b/Makefile
@@ -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