SOURCES := $(shell ls | grep -E -v 'README|Makefile') TARGETS := $(patsubst %,$(HOME)/.%,$(SOURCES)) $(HOME)/.%: % $(RM) '$@' && ln -svf '$(PWD)/$^' '$@' .PHONY: all all: $(TARGETS) .PHONY: echo echo: @echo SOURCES=$(SOURCES) @echo TARGETS=$(TARGETS)