EMACS ?= emacs ELDEV ?= $(shell command -v eldev) FILES = $(wildcard *.el) ELCFILES = $(FILES:.el=.elc) TESTFILES = $(foreach file,$(wildcard test/*.el),-l $(file)) TESTSELECTORS = ifneq ($(TAGS),) comma := , TESTSELECTORS := $(foreach tag,$(subst $(comma), ,$(TAGS)),"(tag $(tag))") endif ifneq ($(PATTERN),) TESTSELECTORS := $(TESTSELECTORS) \"$(PATTERN)\" endif # ifneq ($(TESTSELECTORS),) # TESTSELECTORS := (quote (or $(TESTSELECTORS))) # endif .PHONY: all all: compile .PHONY: eldev eldev: ifeq ($(ELDEV),) $(error "Install eldev (https://github.com/doublep/eldev)") endif .PHONY: test test: $(ELDEV) test $(TESTSELECTORS) .PHONY: clean clean: make -C js clean @rm $(ELCFILES) 2>/dev/null || true .PHONY: clean-eldev clean-eldev: @rm -rf .eldev/ 2>/dev/null || true .PHONY: widgets widgets: make -C js .PHONY: compile compile: $(ELDEV) compile