forked from Alexander-Miller/treemacs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
44 lines (32 loc) · 1.01 KB
/
Makefile
File metadata and controls
44 lines (32 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
MAKEFLAGS += k
CASK = cask
EMACS ?= emacs
NO_COLOR_WARNING_FLAG = --eval "(defvar treemacs-no-load-time-warnings t)"
SRC_DIR = src/elisp
EXTRA_DIR = src/extra
EMACSFLAGS = -Q -batch -L $(SRC_DIR) -L $(EXTRA_DIR) $(NO_COLOR_WARNING_FLAG)
COMPILE_COMMAND = -f batch-byte-compile $(SRC_DIR)/*.el $(EXTRA_DIR)/*.el
LINT_DIR = /tmp/treemacs
LINT_FLAG = --eval "(setq byte-compile-dest-file-function (lambda (f) (concat \"$(LINT_DIR)\" (file-name-nondirectory f) \"c\")))"
TEST_COMMAND = buttercup -L . $(NO_COLOR_WARNING_FLAG)
.PHONY: test compile clean lint prepare prepare-lint
.ONESHELL:
compile: prepare
@$(CASK) exec $(EMACS) $(EMACSFLAGS) $(COMPILE_COMMAND)
.cask: Cask
@echo Updating external dependencies...
@$(CASK) install
@$(CASK) update
@touch .cask
prepare: .cask
test: prepare
@$(CASK) exec $(TEST_COMMAND)
clean:
@rm -f $(SRC_DIR)/*.elc
@rm -f $(EXTRA_DIR)/*.elc
lint: EMACSFLAGS += $(LINT_FLAG)
lint: prepare-lint compile
@rm -rf $(LINT_DIR)
prepare-lint:
@rm -rf $(LINT_DIR)
@mkdir -p $(LINT_DIR)