FILES := $(wildcard *.el) PACKAGE_TARGETS := $(addprefix package-,$(FILES)) package: $(PACKAGE_TARGETS) package-oni-conf package-%: % emacs --batch \ --load oni-package.el \ --funcall package-initialize \ --eval '(package-upload-file "$^")' package-oni-conf: emacs --batch \ --load oni-package.el \ --funcall package-initialize \ --eval '(package-upload-file (car (file-expand-wildcards "oni-conf/dist/*.tar")))' install-%: emacs --batch \ --load oni-package.el \ --funcall package-initialize \ --eval '(package-refresh-contents)' \ $(foreach DEP,$(DEPS),--eval "(package-install-file \"$(DEP).el\")") \ --eval "(package-install-file \"$*.el\")" \ test-%: install-% emacs --batch \ --load oni-package.el \ --funcall package-initialize \ --load ert \ --load "test/$*-test.el" \ --eval "(setq ert-batch-backtrace-right-margin nil)" \ --funcall ert-run-tests-batch-and-exit test-oni-css: DEPS := oni-company oni-fci test-oni-bookmark: DEPS := oni-data-dir test-oni-php: DEPS := oni-flycheck oni-company oni-fci clean: rm -fv $(FILES)