forked from swift-emacs/swift-mode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
56 lines (45 loc) · 1.17 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
51
52
53
54
55
56
CWD = $(shell pwd)
DIST = $(CWD)/dist
CASK ?= cask
EMACS ?= emacs
EMACSFLAGS = --batch -Q
VERSION := $(shell EMACS=$(EMACS) $(CASK) version)
PKG_DIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
USER_EMACS_D = ~/.emacs.d
USER_ELPA_D = $(USER_EMACS_D)/elpa
SRCS = $(filter-out %-pkg.el, $(wildcard *.el))
TESTS = $(filter-out %-pkg.el, $(wildcard test/*.el))
EL = $(DIST)/swift-mode-$(VERSION).el
.PHONY: all
all : deps $(DIST)
.PHONY: deps
deps : $(PKG_DIR)
$(PKG_DIR) :
$(CASK) install
.PHONY: check
check : deps
$(CASK) exec $(EMACS) $(EMACSFLAGS) \
$(patsubst %,-l % , $(SRCS))\
$(patsubst %,-l % , $(TESTS))\
-f ert-run-tests-batch-and-exit
.PHONY: install
install : $(DIST) $(USER_ELPA_D)
$(EMACS) $(EMACSFLAGS) -l package \
-f package-initialize --eval '(package-install-file "$(EL)")'
.PHONY: uninstall
uninstall :
rm -rf $(USER_ELPA_D)/swift-mode-*
.PHONY: reinstall
reinstall : clean uninstall install
.PHONY: clean-all
clean-all : clean
rm -rf $(PKG_DIR)
.PHONY: clean
clean :
$(CASK) clean-elc
rm -f *.elc
rm -rf $(DIST)
$(DIST) :
$(CASK) package
$(USER_ELPA_D) :
mkdir -p $(USER_ELPA_D)