Refactored make targets.

This commit is contained in:
James Patrick 2021-11-28 16:33:24 -05:00
parent 8ca8c1f612
commit 70f2826afe
18 changed files with 125 additions and 181 deletions

View File

@ -6,12 +6,25 @@ EMACSD := ~/.emacs.d
DOOMD := ~/.doom.d DOOMD := ~/.doom.d
DOOM_URL := https://github.com/hlissner/doom-emacs DOOM_URL := https://github.com/hlissner/doom-emacs
include ../lib/shared.mk include ../lib/shared.mk
install: | init update up: setup
if [ -e $(EMACSD)/bin/doom ] ; then
~/.emacs.d/bin/doom --yes sync \
; $(report) "doom sync"
~/.emacs.d/bin/doom --yes purge \
; $(report) "doom purge"
else
$(report) debug "doom not setup, so not updating."
fi
init: down:
$(report) header "Removing Emacs configuration"
rm -rf $(EMACSD) ; $(report) "deleted $(EMACSD)"
$(rm_link) $(DOOMD)
setup:
if (( ! $$+commands[emacs] )) ; then if (( ! $$+commands[emacs] )) ; then
$(report) debug "Emacs not installed. Skipping install." $(report) debug "Emacs not installed. Skipping install."
elif [[ -v $$SSH_TTY ]] ; then elif [[ -v $$SSH_TTY ]] ; then
@ -33,17 +46,3 @@ doom_init:
$(report) debug "emacsd already exists. Skipping" $(report) debug "emacsd already exists. Skipping"
fi fi
update:
if [ -e $(EMACSD)/bin/doom ] ; then
~/.emacs.d/bin/doom --yes sync \
; $(report) "doom sync"
~/.emacs.d/bin/doom --yes purge \
; $(report) "doom purge"
else
$(report) debug "doom not setup, so not updating."
fi
remove:
$(report) header "Removing Emacs configuration"
rm -rf $(EMACSD) ; $(report) "deleted $(EMACSD)"
$(rm_link) $(DOOMD)

View File

@ -5,14 +5,12 @@ TARGET := ~/.gitconfig
include ../lib/shared.mk include ../lib/shared.mk
install: | init update
init: init:
$(report) header "Setting up gitconfig" $(report) header "Setting up gitconfig"
$(mk_link) $(SOURCE) $(TARGET) $(mk_link) $(SOURCE) $(TARGET)
update: up: init
remove: down:
$(report) header "Removing gitconfig" $(report) header "Removing gitconfig"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)

View File

@ -5,9 +5,7 @@ include ../lib/shared.mk
CONFIG_DIR := $(XDG_DIR)/jrnl CONFIG_DIR := $(XDG_DIR)/jrnl
install: | init update up:
init:
if (( $$+commands[jrnl] )) ; then if (( $$+commands[jrnl] )) ; then
$(report) header "Setting up jrnl" $(report) header "Setting up jrnl"
mkdir $(CONFIG_DIR) mkdir $(CONFIG_DIR)
@ -16,5 +14,5 @@ init:
$(report) debug "jrnl not installed. Skipping." $(report) debug "jrnl not installed. Skipping."
fi fi
remove: down:
rm -rf $(CONFIG_DIR) rm -rf $(CONFIG_DIR)

View File

@ -1,13 +1,14 @@
# -*- mode: makefile-gmake; -*- # -*- mode: makefile-gmake; -*-
SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
requires := kitty
include ../lib/shared.mk include ../lib/shared.mk
CONFIG_DIR := $(XDG_DIR)/kitty CONFIG_DIR := $(XDG_DIR)/kitty
install: | init update install: | init update
init: up:
if (( $$+commands[kitty] )) ; then if (( $$+commands[kitty] )) ; then
$(report) header "Setting up kitty" $(report) header "Setting up kitty"
$(mk_link) $(SRC) $(CONFIG_DIR) $(mk_link) $(SRC) $(CONFIG_DIR)
@ -15,6 +16,6 @@ init:
$(report) debug "kitty not installed. Skipping." $(report) debug "kitty not installed. Skipping."
fi fi
remove: down:
$(report) header "removing up kitty" $(report) header "removing up kitty"
rm -r $(CONFIG_DIR) ; $(report) "removed dir" rm -r $(CONFIG_DIR) ; $(report) "removed dir"

View File

@ -5,8 +5,6 @@ GIT_HOOK_TARGET = $(abspath $(SRC_DIR)/..)/.git/hooks/post-merge
include ../lib/shared.mk include ../lib/shared.mk
install: | init update
init: init:
$(report) header "Setting up this stuff" $(report) header "Setting up this stuff"
$(report) pass "githook symlinked `ln -svf $(GIT_HOOK_SRC) $(GIT_HOOK_TARGET)`" $(report) pass "githook symlinked `ln -svf $(GIT_HOOK_SRC) $(GIT_HOOK_TARGET)`"
@ -21,8 +19,8 @@ fix_http_repo:
$(report) debug "git repo deosn't start with http. So no need to reset remote." $(report) debug "git repo deosn't start with http. So no need to reset remote."
fi fi
update: up: init
remove: down:
$(report) header "Removing githook" $(report) header "Removing githook"
$(rm_link) $(GIT_HOOK_TARGET) $(rm_link) $(GIT_HOOK_TARGET)

View File

@ -1,9 +1,3 @@
#!/bin/zsh #!/bin/zsh
# -*- zsh -*- # -*- zsh -*-
( ($+commands[gmake])) && gmake up || make update
local_hook="$HOME"/.git_template.local/hooks/post-merge
[ -f "$local_hook" ] && . "$local_hook"
.git/hooks/ctags >/dev/null 2>&1 &
(($+commands[gmake])) && gmake update || make update

View File

@ -6,23 +6,13 @@ include lib/shared.mk
define recursive_make define recursive_make
for i in */makefile; do for i in */makefile; do
echo "`dirname $$i` " echo "`dirname $$i` "
$(MAKE) -C $(SRC_DIR)/`dirname $$i` $1 $(MAKE) --keep-going -C $(SRC_DIR)/`dirname $$i` $1
echo "" echo ""
done done
endef endef
install: up:
$(info Initalizing) $(call recursive_make,up)
$(call recursive_make,install)
init: down:
$(info Initalizing) $(call recursive_make,down)
$(call recursive_make,init)
update:
$(info Updating)
$(call recursive_make,update)
remove:
$(info Removing)
$(call recursive_make,remove)

View File

@ -4,8 +4,6 @@ SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
include ../lib/shared.mk include ../lib/shared.mk
TARGET := $(XDG_DIR)/mako TARGET := $(XDG_DIR)/mako
install: | init update
init: init:
if (( $$+commands[mako] )) ; then if (( $$+commands[mako] )) ; then
$(report) header "Setting up mako" $(report) header "Setting up mako"
@ -14,7 +12,7 @@ init:
$(report) warn "mako not installed. Skipping." $(report) warn "mako not installed. Skipping."
fi fi
update: up: init
if (( $$+commands[makoctl] )) ; then if (( $$+commands[makoctl] )) ; then
$(report) header "Updating mako" $(report) header "Updating mako"
if [[ -n `pgrep mako` ]] ; then if [[ -n `pgrep mako` ]] ; then
@ -25,6 +23,6 @@ update:
fi fi
remove: down:
$(report) header "Removing mako" $(report) header "Removing mako"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)

View File

@ -6,10 +6,7 @@ TARGET := $(XDG_DIR)/mbsync
RC_TARGET := ~/.mbsyncrc RC_TARGET := ~/.mbsyncrc
TRANSIENT_DIR := $(SRC)/transient TRANSIENT_DIR := $(SRC)/transient
up:
install: | init update
init:
if (( $$+commands[mbsync] )) ; then if (( $$+commands[mbsync] )) ; then
$(report) header "Setting up mbsync" $(report) header "Setting up mbsync"
$(mk_link) $(SRC) $(TARGET) $(mk_link) $(SRC) $(TARGET)
@ -34,11 +31,7 @@ update_cert:
&& $(report) pass "Cert from proton bridge downloaded." \ && $(report) pass "Cert from proton bridge downloaded." \
|| $(report) error "Error while fetching cert. Is bridge running?" || $(report) error "Error while fetching cert. Is bridge running?"
down:
update:
remove:
$(report) header "Removing mbsync" $(report) header "Removing mbsync"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)
rm -rf $(TRANSIENT_DIR) ; $(report) "Deleting $(TRANSIENT_DIR)" rm -rf $(TRANSIENT_DIR) ; $(report) "Deleting $(TRANSIENT_DIR)"

View File

@ -4,9 +4,7 @@ SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
include ../lib/shared.mk include ../lib/shared.mk
TARGET := ~/.password-store TARGET := ~/.password-store
install: | init update up:
init:
if (( $$+commands[pass] )) ; then if (( $$+commands[pass] )) ; then
$(report) header "Setting up pass" $(report) header "Setting up pass"
[ -e $(TARGET) ] \ [ -e $(TARGET) ] \
@ -16,9 +14,6 @@ init:
$(report) debug " pass not installed. Skipping." $(report) debug " pass not installed. Skipping."
fi fi
update: down:
remove:
$(report) header "Removing pass" $(report) header "Removing pass"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)

View File

@ -7,9 +7,7 @@ TARGET := $(XDG_DIR)/rofi
DESKTOP_SRC := $(SRC)/desktop DESKTOP_SRC := $(SRC)/desktop
DESKTOP_TARGET := ~/.local/share/applications DESKTOP_TARGET := ~/.local/share/applications
install: | init update up:
init:
if (( $$+commands[rofi] )) ; then if (( $$+commands[rofi] )) ; then
$(report) header "Setting up rofi" $(report) header "Setting up rofi"
$(mk_link) $(SRC) $(TARGET) $(mk_link) $(SRC) $(TARGET)
@ -18,9 +16,7 @@ init:
$(report) debug "rofi not installed. Skipping." $(report) debug "rofi not installed. Skipping."
fi fi
update: down:
remove:
$(report) header "Removing rofi" $(report) header "Removing rofi"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)
$(MAKE) -C $(SRC) desktop_remove $(MAKE) -C $(SRC) desktop_remove

View File

@ -7,16 +7,7 @@ GIT_KEY := ~/.ssh/git.jpatrick.io
include ../lib/shared.mk include ../lib/shared.mk
install: | init update up: init
init:
$(report) header "Setting up ssh"
$(mk_link) $(CONFIG_SRC) $(CONFIG_TRGT)
$(mk_link) $(SRC_DIR)/public_keys ~/.ssh/public_keys
$(mk_link) $(SRC_DIR)/config.d ~/.ssh/config.d
$(MAKE) -C $(SRC_DIR) init_git_key
update:
mkdir -p public_keys/`hostname` mkdir -p public_keys/`hostname`
cd ~/.ssh cd ~/.ssh
$(report) header "Copying public keys" $(report) header "Copying public keys"
@ -25,11 +16,18 @@ update:
$(report) pass "Copied $$i" $(report) pass "Copied $$i"
done done
remove: down:
$(report) header "Removing ssh sym-links" $(report) header "Removing ssh sym-links"
$(rm_link) $(CONFIG_TRGT) $(rm_link) $(CONFIG_TRGT)
$(report) warn "NOTE: All keys still remain." $(report) warn "NOTE: All keys still remain."
init:
$(report) header "Setting up ssh"
$(mk_link) $(CONFIG_SRC) $(CONFIG_TRGT)
$(mk_link) $(SRC_DIR)/public_keys ~/.ssh/public_keys
$(mk_link) $(SRC_DIR)/config.d ~/.ssh/config.d
$(MAKE) -C $(SRC_DIR) init_git_key
init_git_key: init_git_key:
if [[ -e $(GIT_KEY) ]] ; then if [[ -e $(GIT_KEY) ]] ; then
$(report) debug "$(GIT_KEY) already installed." $(report) debug "$(GIT_KEY) already installed."

View File

@ -7,7 +7,27 @@ TARGET := $(XDG_DIR)/sway
PATH_ICON_BOSTON := "$$HOME/.icons/Boston" PATH_ICON_BOSTON := "$$HOME/.icons/Boston"
PATH_GTK_ANT_NEBULA := "$$HOME/.theme/Ant-Nebula" PATH_GTK_ANT_NEBULA := "$$HOME/.theme/Ant-Nebula"
install: | init update up: init
if (( ! $$+commands[swaymsg] )) ; then
$(report) debug "swaymsg not installed. Skipping."
else
$(report) header "Reloading sway"
swaymsg reload ; $(report) "sway reload"
$(MAKE) -C $(SRC) update_icons
$(MAKE) -C $(SRC) update_theme
fi
down:
$(report) header "Removing sway"
$(rm_link) $(TARGET)
if [ -e $(PATH_ICON_BOSTON) ] ; then
rm -rf $(PATH_ICON_BOSTON) \
; $(report) "Removed $(PATH_ICON_BOSTON)"
fi
if [ -e $(PATH_GTK_ANT_NEBULA) ] ; then
rm -rf $(PATH_GTK_ANT_NEBULA) \
; $(report) "Removed $(PATH_GTK_ANT_NEBULA)"
fi
init: init:
if (( ! $$+commands[sway] )) ; then if (( ! $$+commands[sway] )) ; then
@ -42,16 +62,6 @@ init_theme:
$(report) debug "gsettings not installed. Skipping" $(report) debug "gsettings not installed. Skipping"
fi fi
update:
if (( ! $$+commands[swaymsg] )) ; then
$(report) debug "swaymsg not installed. Skipping."
else
$(report) header "Reloading sway"
swaymsg reload ; $(report) "sway reload"
$(MAKE) -C $(SRC) update_icons
$(MAKE) -C $(SRC) update_theme
fi
update_icons: update_icons:
if [ ! -e $(PATH_ICON_BOSTON) ] ; then if [ ! -e $(PATH_ICON_BOSTON) ] ; then
cd $(PATH_ICON_BOSTON) cd $(PATH_ICON_BOSTON)
@ -64,14 +74,3 @@ update_theme:
git pull ; $(report) "Updated Ant Nebula GTK." git pull ; $(report) "Updated Ant Nebula GTK."
fi fi
remove:
$(report) header "Removing sway"
$(rm_link) $(TARGET)
if [ -e $(PATH_ICON_BOSTON) ] ; then
rm -rf $(PATH_ICON_BOSTON) \
; $(report) "Removed $(PATH_ICON_BOSTON)"
fi
if [ -e $(PATH_GTK_ANT_NEBULA) ] ; then
rm -rf $(PATH_GTK_ANT_NEBULA) \
; $(report) "Removed $(PATH_GTK_ANT_NEBULA)"
fi

View File

@ -6,9 +6,7 @@ TARGET := ~/.tmux.conf
include ../lib/shared.mk include ../lib/shared.mk
install: | init update up:
init:
if (( ! $$+commands[tmux] )) ; then if (( ! $$+commands[tmux] )) ; then
$(report) header "tmux not installed" $(report) header "tmux not installed"
else else
@ -16,8 +14,6 @@ init:
$(mk_link) $(SOURCE) $(TARGET) $(mk_link) $(SOURCE) $(TARGET)
fi fi
update: down:
remove:
$(report) header "Removing tmux config" $(report) header "Removing tmux config"
$(rm_link) $(TARGET) $(rm_link) $(TARGET)

View File

@ -5,9 +5,7 @@ include ../lib/shared.mk
RC_TARGET := $(XDG_DIR)/tridactyl RC_TARGET := $(XDG_DIR)/tridactyl
SCRIPTS_TARGET := ~/.local/share/tridactyl/scripts SCRIPTS_TARGET := ~/.local/share/tridactyl/scripts
install: | init update up:
init:
if [[ $$OSTYPE = darwin* ]] ; then if [[ $$OSTYPE = darwin* ]] ; then
$(MAKE) -C $(SRC_DIR) setup $(MAKE) -C $(SRC_DIR) setup
elif (( $$+commands[firefox] )) ; then elif (( $$+commands[firefox] )) ; then
@ -16,14 +14,13 @@ init:
$(report) debug "This doesn't seem to be an env for Tridactyl. Skipping." $(report) debug "This doesn't seem to be an env for Tridactyl. Skipping."
fi fi
down:
$(report) header "Removing Tridaycl"
$(rm_link) $(RC_TARGET)
$(rm_link) $(SCRIPTS_TARGET)
setup: setup:
$(report) header "Setting up Tridaycl" $(report) header "Setting up Tridaycl"
$(mk_link) $(SRC_DIR) $(RC_TARGET) $(mk_link) $(SRC_DIR) $(RC_TARGET)
$(mk_link) $(SRC_DIR)/scripts $(SCRIPTS_TARGET) $(mk_link) $(SRC_DIR)/scripts $(SCRIPTS_TARGET)
update:
remove:
$(report) header "Removing Tridaycl"
$(rm_link) $(RC_TARGET)
$(rm_link) $(SCRIPTS_TARGET)

View File

@ -5,7 +5,22 @@ PLUG_PATH := $(SRC_DIR)/autoload/plug.vim
include ../lib/shared.mk include ../lib/shared.mk
install: | init update up: init
if (( $$+commands[vim] )) ; then
$(report) header "Upgrading vim"
curl -fsLo $(PLUG_PATH) $(PLUG_URL) \
; $(report) "vim plug setup"
vim +PlugInstall +PlugUpdate +PlugClean +qall \
; $(report) "downloading/updating plugins"
stty sane # dropping in & out causes some weird tty behavior.
else
$(report) warn "cannot find vim?"
fi
down:
$(report) header "Removing vim config"
$(rm_link) ~/.vimrc
$(rm_link) $(TARGET_DIR)
init: init:
if (( $$+commands[vim] )) ; then if (( $$+commands[vim] )) ; then
@ -22,20 +37,3 @@ init:
$(report) warn "cannot find vim?" $(report) warn "cannot find vim?"
fi fi
update:
if (( $$+commands[vim] )) ; then
$(report) header "Upgrading vim"
curl -fsLo $(PLUG_PATH) $(PLUG_URL) \
; $(report) "vim plug setup"
vim +PlugInstall +PlugUpdate +PlugClean +qall \
; $(report) "downloading/updating plugins"
stty sane # dropping in & out causes some weird tty behavior.
else
$(report) warn "cannot find vim?"
fi
remove:
$(report) header "Removing vim config"
$(rm_link) ~/.vimrc
$(rm_link) $(TARGET_DIR)

View File

@ -4,7 +4,17 @@ SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
include ../lib/shared.mk include ../lib/shared.mk
TARGET := $(XDG_DIR)/waybar TARGET := $(XDG_DIR)/waybar
install: | init update up: init
if (( $$+commands[swaymsg] )) ; then
$(report) header "Reloading waybar"
swaymsg reload ; $(report) "sway reload"
else
$(report) debug "swaymsg not installed. Skipping."
fi
down:
$(report) header "Removing waybar"
$(rm_link) $(TARGET)
init: init:
if (( $$+commands[waybar] )) ; then if (( $$+commands[waybar] )) ; then
@ -13,15 +23,3 @@ init:
else else
$(report) debug "waybar not installed. Skipping." $(report) debug "waybar not installed. Skipping."
fi fi
update:
if (( $$+commands[swaymsg] )) ; then
$(report) header "Reloading waybar"
swaymsg reload ; $(report) "sway reload"
else
$(report) debug "swaymsg not installed. Skipping."
fi
remove:
$(report) header "Removing waybar"
$(rm_link) $(TARGET)

View File

@ -5,7 +5,27 @@ include ../lib/shared.mk
ZSH_DIR := ~/.zsh ZSH_DIR := ~/.zsh
ZPLUG_DIR := ~/.zplug ZPLUG_DIR := ~/.zplug
install: | init update up: init
if [ ! -d $(ZPLUG_DIR) ] ; then
$(report) error "$(ZPLUG_DIR) doesn't exist - run init first."
return
fi
$(report) header "Updating zplug"
source $(ZPLUG_DIR)/init.zsh
source $(ZSH_DIR)/zplug
export zplugs
zplug install
zplug update ; $(report) "zplug upate"
zplug clean ; $(report) "zplug cleaned"
down:
rm -rf $(ZPLUG_DIR) ; $(report) "deleting zplug dir"
$(rm_link) ~/.zprofile
$(rm_link) ~/.zlogin
$(rm_link) ~/.zshrc
$(rm_link) ~/.zsh
$(rm_link) ~/.zshenv
$(rm_link) ~/.zlogout
init: init:
$(info => Setting up zsh) $(info => Setting up zsh)
@ -28,25 +48,3 @@ init_zplug:
git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \ git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \
; $(report) "zplug installed" ; $(report) "zplug installed"
update:
if [ ! -d $(ZPLUG_DIR) ] ; then
$(report) error "$(ZPLUG_DIR) doesn't exist - run init first."
return
fi
$(report) header "Updating zplug"
source $(ZPLUG_DIR)/init.zsh
source $(ZSH_DIR)/zplug
export zplugs
zplug install
zplug update ; $(report) "zplug upate"
zplug clean ; $(report) "zplug cleaned"
remove:
rm -rf $(ZPLUG_DIR) ; $(report) "deleting zplug dir"
$(rm_link) ~/.zprofile
$(rm_link) ~/.zlogin
$(rm_link) ~/.zshrc
$(rm_link) ~/.zsh
$(rm_link) ~/.zshenv
$(rm_link) ~/.zlogout