-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
50 lines (39 loc) · 1.35 KB
/
Makefile
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
45
46
47
48
49
50
EMACS = emacs
EMACSFLAGS =
CASK = cask
VERSION = `$(CASK) exec $(EMACS) --version | head -1`
KARMA = karma.el
OBJECTS = karma.elc
NO_COLOR=\033[0m
INFO_COLOR=\033[2;32m
STAT_COLOR=\033[2;33m
.PHONY: info test build compile cask clean clean-elc test-elc
info:
@ echo "\n$(INFO_COLOR)Installed Emacs info: $(NO_COLOR)\n"
@ echo " $(STAT_COLOR)[PATH]$(NO_COLOR) = `which $(EMACS)`"
@ echo " $(STAT_COLOR)[VERSION]$(NO_COLOR) = $(VERSION)"
build: cask test-elc test
test:
@ echo "\n$(INFO_COLOR)Run tests: $(NO_COLOR)\n"
$(CASK) exec $(EMACS) -batch -Q -l test/test-runner.el
test-elc: compile
@ echo "\n$(INFO_COLOR)Run tests with *.elc: $(NO_COLOR)\n"
$(CASK) exec $(EMACS) -batch -Q -l test/test-runner.el
make clean-elc
cask:
@ echo "\n$(INFO_COLOR)Install package dependencies: $(NO_COLOR)\n"
@ echo "$(STAT_COLOR)[cask install]$(NO_COLOR)"
@ echo `$(CASK) install`
@ echo "$(STAT_COLOR)[cask update]$(NO_COLOR)"
@ echo `$(CASK) update`
compile:
@ echo "\n$(INFO_COLOR)Compile: $(NO_COLOR)\n"
@ echo "$(STAT_COLOR)[$(CASK) exec $(EMACS) -Q -batch -f batch-byte-compile $(KARMA)]$(NO_COLOR)"
@ echo `$(CASK) exec $(EMACS) -Q -batch -f batch-byte-compile $(KARMA)`
clean:
@ echo "\n$(INFO_COLOR)Clean environment: $(NO_COLOR)\n"
rm -f $(OBJECTS)
rm -rf .cask
clean-elc:
@ echo "\n$(INFO_COLOR)Clean $(OBJECTS): $(NO_COLOR)\n"
rm -f $(OBJECTS)