blob: 080bc8edc0ba5508cb896f53337fb0d4c4be03a3 (
plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
EMACS ?= emacs
# Handle the mess when inside Emacs.
unexport INSIDE_EMACS #cask not like this.
ifeq ($(EMACS), t)
EMACS = emacs
endif
EMACS_VERSION = $(shell $(EMACS) -Q --batch --eval '(princ emacs-version)')
EFLAGS = -Q --batch
# Note: If you change this, also change it in lisp/pdf-tools.el and
# server/configure.ac .
PACKAGE_VERSION = 0.70
PKGFILE_CONTENT = (define-package "pdf-tools" "$(PACKAGE_VERSION)" \
"Support library for PDF documents." \
(quote ((emacs "24.3") (let-alist "1.0.4") \
(tablist "0.70"))) \
:keywords \
(quote ("files" "multimedia")))
PACKAGE_NAME = pdf-tools-$(PACKAGE_VERSION)
PACKAGE_DIR = $(PACKAGE_NAME)
.PHONY: all clean distclean package bytecompile test check melpa cask-install
all: package
clean:
rm -rf -- $(PACKAGE_DIR)
rm -f -- $(PACKAGE_NAME).tar
rm -f -- lisp/*.elc
! [ -f server/Makefile ] || $(MAKE) -C server clean
distclean: clean
rm -rf .cask
! [ -f server/Makefile ] || $(MAKE) -C server distclean
package: $(PACKAGE_NAME).tar
$(PACKAGE_NAME).tar: server/epdfinfo lisp/*.el
mkdir -p '$(PACKAGE_DIR)'
cp lisp/*.el README server/epdfinfo '$(PACKAGE_DIR)'
echo '$(PKGFILE_CONTENT)' > '$(PACKAGE_DIR)/pdf-tools-pkg.el'
tar cf '$(PACKAGE_NAME).tar' '$(PACKAGE_DIR)'
melpa-package:
$(MAKE) distclean
mkdir -p '$(PACKAGE_DIR)/build'
cp lisp/*.el README '$(PACKAGE_DIR)'
cp -r Makefile server '$(PACKAGE_DIR)/build'
echo '$(PKGFILE_CONTENT)' > '$(PACKAGE_DIR)/pdf-tools-pkg.el'
tar cf '$(PACKAGE_NAME).tar' '$(PACKAGE_DIR)'
install-package: package
$(EMACS) $(EFLAGS) --eval \
"(progn (package-initialize) \
(package-install-file \
\"$(PACKAGE_NAME).tar\"))"
server/epdfinfo: server/Makefile
$(MAKE) -C server
server/Makefile: server/configure
cd server && ./configure -q
server/configure: server/configure.ac
cd server && ./autogen.sh
bytecompile: cask-install
cask exec $(EMACS) $(EFLAGS) -L $(PWD)/lisp -f batch-byte-compile lisp/*.el
test: all cask-install
cask exec $(EMACS) $(EFLAGS) -l test/run-tests.el $(PACKAGE_NAME).tar
cask-install: .cask/$(EMACS_VERSION)
.cask/$(EMACS_VERSION):
cask install
check: bytecompile test
print-version:
@[ -n '$(PACKAGE_VERSION)' ] && echo '$(PACKAGE_VERSION)'
install-server-deps:
sudo apt-get install gcc g++ make automake autoconf \
libpng-dev libz-dev libpoppler-glib-dev
-sudo apt-get install libpoppler-private-dev
-sudo apt-get install gtklp
melpa-build: server/epdfinfo
-cp -p server/epdfinfo ..
@if [ "$(shell uname -o)" = "Msys" ]; then \
for f in $(shell ldd server/epdfinfo | awk '/mingw/ {print $$3}'); do \
cp $$f ..; \
done; \
fi
$(MAKE) distclean
@if [ -x ../epdfinfo ]; then \
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~"; \
echo "Server successfully build. "; \
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~"; \
else \
echo "Server not build, maybe due to missing dependencies (See README)."; \
echo "Required: gcc g++ make automake autoconf libpng-dev libz-dev libpoppler-glib-dev libpoppler-private-dev"; \
false; \
fi
|