/ Makefile
Makefile
1 -include .config.mk 2 3 PKG = hl-todo 4 5 ELS = $(PKG).el 6 ELCS = $(ELS:.el=.elc) 7 8 DEPS = compat 9 10 LOAD_PATH ?= $(addprefix -L ../,$(DEPS)) 11 LOAD_PATH += -L . 12 13 EMACS ?= emacs 14 EMACS_ARGS ?= 15 EMACS_Q_ARG ?= -Q 16 EMACS_BATCH ?= $(EMACS) $(EMACS_Q_ARG) --batch $(EMACS_ARGS) $(LOAD_PATH) 17 18 all: lisp 19 20 help: 21 $(info make all -- Build lisp) 22 $(info make lisp -- Build lisp) 23 $(info make redo -- Build lisp from scratch) 24 $(info make clean -- Remove built files) 25 @printf "\n" 26 27 redo: clean lisp 28 29 lisp: $(ELCS) autoloads check-declare 30 31 autoloads: $(PKG)-autoloads.el 32 33 %.elc: %.el 34 @printf "Compiling $<\n" 35 @$(EMACS_BATCH) --funcall batch-byte-compile $< 36 37 check-declare: 38 @printf " Checking function declarations\n" 39 @$(EMACS_BATCH) --eval "(check-declare-directory default-directory)" 40 41 CLEAN = $(ELCS) $(PKG)-autoloads.el 42 43 clean: 44 @printf " Cleaning...\n" 45 @rm -rf $(CLEAN) 46 47 $(PKG)-autoloads.el: $(ELS) 48 @printf " Creating $@\n" 49 @$(EMACS_BATCH) --load autoload --eval "\ 50 (let* ((file (expand-file-name \"$@\"))\ 51 (generated-autoload-file file)\ 52 (coding-system-for-write 'utf-8-emacs-unix)\ 53 (backup-inhibited t)\ 54 (version-control 'never)\ 55 (inhibit-message t))\ 56 (write-region (autoload-rubric file \"package\" t) nil file)\ 57 (update-directory-autoloads default-directory))" \ 58 2>&1 | sed "/^Package autoload is deprecated$$/d"