So I found a rather weird issue. The makefile was evaling the conditional of a target before that target is called. `make install` is a empty target with a ordered dependency: `init` and `update`. In the `init` script section it will install the `~/.zplug` zsh dependency, and the update script checks to see if that target exist, aborting if it doesn't. The issue is that running `make install` will install the `~/.zplug` dir, then report that the dir doesn't exist. Where running `make init && make update` will work as expected. There is probably some flag in make to resolve this, but I was unable to to find any documentation for this.
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
 | 
						|
 | 
						|
include ../lib/shared.mk
 | 
						|
ZSH_DIR :=  ~/.zsh
 | 
						|
ZPLUG_DIR :=  ~/.zplug
 | 
						|
 | 
						|
install: | init update
 | 
						|
 | 
						|
init:
 | 
						|
	$(info => Setting up zsh)
 | 
						|
ifeq ($(shell [ ! -e $(ZPLUG_DIR) ] $(return_val_truthy) ), true)
 | 
						|
	export ZPLUG_HOME=$(ZPLUG_DIR) \
 | 
						|
  ; git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \
 | 
						|
  ; $(report) "zplug installed"
 | 
						|
endif
 | 
						|
	$(mk_link) $(SRC) ~/.zsh
 | 
						|
	$(mk_link) $(ZSH_DIR)/zshrc ~/.zshrc
 | 
						|
	$(mk_link) $(ZSH_DIR)/zlogin ~/.zlogin
 | 
						|
	$(mk_link) $(ZSH_DIR)/zprofile ~/.zprofile
 | 
						|
	$(mk_link) $(ZSH_DIR)/zshenv ~/.zshenv
 | 
						|
	chmod 700 $(ZSH_DIR)/transient
 | 
						|
 | 
						|
 | 
						|
update:
 | 
						|
	[ -e $(ZPLUG_DIR) ] \
 | 
						|
	&& ( echo "=> Updating zplug" \
 | 
						|
	   source $(ZPLUG_DIR)/init.zsh ; source $(ZSH_DIR)/zplug ; zplug install ; zplug update ) \
 | 
						|
	||  $(report) warn "No zplug install detected. Skipping."
 | 
						|
 | 
						|
remove:
 | 
						|
ifeq ($(shell [ -e $(ZPLUG_DIR) ] $(return_val_truthy) ), true)
 | 
						|
	$(report) warn "Leaving $(ZPLUG_DIR) directory."
 | 
						|
endif
 | 
						|
	$(info => Removing zsh)
 | 
						|
	$(rm_link) ~/.zprofile
 | 
						|
	$(rm_link) ~/.zlogin
 | 
						|
	$(rm_link) ~/.zshrc
 | 
						|
	$(rm_link) ~/.zsh
 | 
						|
	$(rm_link) ~/.zshenv
 |