makefile: ensure user-emacs-directory is set

This commit is contained in:
Henrik Lissner 2017-02-06 18:00:34 -05:00
parent ffa1ce14cd
commit 5090757f4a

View file

@ -1,38 +1,41 @@
EMACS=emacs
# Ensure emacs always runs from this makefile's PWD
EMACS=emacs --batch --eval "(setq user-emacs-directory default-directory)"
# Tasks
all: install update autoloads
install: init.el
@$(EMACS) --batch -l core/core.el -f 'doom/packages-install'
@$(EMACS) -l core/core.el -f 'doom/packages-install'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
update: init.el
@$(EMACS) --batch -l core/core.el -f 'doom/packages-update'
@$(EMACS) -l core/core.el -f 'doom/packages-update'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
clean: init.el
@$(EMACS) --batch -l core/core.el -f 'doom/packages-autoremove'
@$(EMACS) -l core/core.el -f 'doom/packages-autoremove'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
autoloads: init.el
@$(EMACS) --batch -l init.el -f 'doom/refresh-autoloads'
@$(EMACS) -l init.el -f 'doom/refresh-autoloads'
@$(EMACSCLIENT) -e '(doom/reload)' >/dev/null 2>&1 || true
compile: init.el clean-elc
@$(EMACS) --batch -l init.el -f 'doom/byte-compile'
@$(EMACS) -l init.el -f 'doom/byte-compile'
compile-lite: init.el clean-elc
@$(EMACS) --batch -l core/core.el --eval '(doom/byte-compile t)'
@$(EMACS) -l core/core.el --eval '(doom/byte-compile t)'
clean-cache:
@$(EMACS) --batch -l core/core.el --eval '(delete-directory doom-cache-dir t)'
@$(EMACS) -l core/core.el --eval '(delete-directory doom-cache-dir t)'
clean-elc:
@rm -fv init.elc
@find {core,modules} -type f -iname '*.elc' -exec rm \-fv {} \;
test:
@$(EMACS) --batch -l test/init.el -f 'doom!run-tests'
@$(EMACS) -l test/init.el -f 'doom!run-tests'
init.el:
@[ -f init.el ] || $(error No init.el file, please create one or copy init.example.el)