### -*-makefile-*- .SECONDEXPANSION: all: clean:: install:: .PHONY: all clean install %/:; mkdir -p $* INSTFILES = INSTDIRS = INSTFILES += profile profile_SOURCE = profile profile_DEST = $(HOME)/.profile INSTDIRS += bin bin_DIR = $(HOME)/bin bin_MODE = 775 bin_FILES = bin_FILES += bin/rustup-init bin_FILES += bin/sandwich INSTDIRS += userv userv_DIR = $(HOME)/.userv userv_FILES = userv_FILES += userv/rc INSTDIRS += services services_DIR = $(HOME)/.userv/services.d services_FILES = services_FILES += userv/sandwich install:: $(foreach f,$(INSTFILES), install/$f) $(foreach f,$(INSTFILES), install/$f): \ install/%: $$($$*_SOURCE) | $$(dir $$($$*_DEST)) install -m$(or $($*_MODE),664) $($*_SOURCE) $($*_DEST) .PHONY: $(foreach d,$(INSTFILES), install/$f) install:: $(foreach d,$(INSTDIRS), install/$d) $(foreach d,$(INSTDIRS), install/$d): \ install/%: $$($$*_FILES) | $$($$*_DIR)/ install -m$(or $($*_MODE),664) $($*_FILES) $($*_DIR)/ .PHONY: $(foreach d,$(INSTDIRS), install/$d) install:: | $(HOME)/CARGO/ install:: | $(HOME)/RUSTUP/