localpath = scripts path = ~/.shellrc/bin/scripts find := $(shell { command -v gfind || command -v find; } 2>&-) all: install mkdir: @mkdir -p $(path) rmdir: @rmdir $(path) 2>&-; : install: mkdir @$(find) $(localpath) \ -maxdepth 1 \ -type f \ -executable \ | while read -r line; do \ ln -sv $$(realpath -- $$line) $(path)/$$(basename $$line) 2>&-; \ done; \ true rmlinks: @$(find) $(localpath) \ -maxdepth 1 \ -type f \ -executable \ -exec basename {} \; \ | xargs -IF rm -fv $(path)/F uninstall: rmlinks rmdir clean: uninstall .PHONY: all mkdir rmdir install uninstall clean