Merge branch 'maint'
[org-mode/org-tableheadings.git] / mk / default.mk
blob72068d18d6f865955f6800ea01b5d392b83d8bab
1 ##----------------------------------------------------------------------
2 ## NEVER EDIT THIS FILE, PUT ANY ADAPTATIONS INTO local.mk
3 ##-8<-------------------------------------------------------------------
4 ## CHECK AND ADAPT THE FOLLOWING DEFINITIONS
5 ##----------------------------------------------------------------------
7 # Name of your emacs binary
8 EMACS = emacs
10 # Where local software is found
11 prefix = /usr/share
13 # Where local lisp files go.
14 lispdir= $(prefix)/emacs/site-lisp/org
16 # Where local data files go.
17 datadir = $(prefix)/emacs/etc/org
19 # Where info files go.
20 infodir = $(prefix)/info
22 # Define if you only need info documentation, the default includes html and pdf
23 #ORG_MAKE_DOC = info # html pdf
25 # Define which git branch to switch to during update. Does not switch
26 # the branch when undefined.
27 GIT_BRANCH =
29 # Define if you want to include some (or all) files from contrib/lisp
30 # just the filename please (no path prefix, no .el suffix), maybe with globbing
31 #ORG_ADD_CONTRIB = ox-* # e.g. the contributed exporter
33 # Where to create temporary files for the testsuite
34 # respect TMPDIR if it is already defined in the environment
35 TMPDIR ?= /tmp
36 testdir = $(TMPDIR)/tmp-orgtest
38 # Configuration for testing
39 # add options before standard load-path
40 BTEST_PRE =
41 # add options after standard load path
42 BTEST_POST =
43 # -L <path-to>/ert # needed for Emacs23, Emacs24 has ert built in
44 # -L <path-to>/ess # needed for running R tests
45 # -L <path-to>/htmlize # need at least version 1.34 for source code formatting
46 BTEST_OB_LANGUAGES = awk C fortran maxima lilypond octave perl python
47 # R # requires ESS to be installed and configured
48 # ruby # requires inf-ruby to be installed and configured
49 # extra packages to require for testing
50 BTEST_EXTRA =
51 # ess-site # load ESS for R tests
52 ##->8-------------------------------------------------------------------
53 ## YOU MAY NEED TO ADAPT THESE DEFINITIONS
54 ##----------------------------------------------------------------------
56 # How to run tests
57 req-ob-lang = --eval '(require '"'"'ob-$(ob-lang))'
58 lst-ob-lang = ($(ob-lang) . t)
59 req-extra = --eval '(require '"'"'$(req))'
60 BTEST_RE ?= \\(org\\|ob\\)
61 BTEST_LOAD = \
62 --eval '(add-to-list '"'"'load-path (concat default-directory "lisp"))' \
63 --eval '(add-to-list '"'"'load-path (concat default-directory "testing"))'
64 BTEST_INIT = $(BTEST_PRE) $(BTEST_LOAD) $(BTEST_POST)
66 BTEST = $(BATCH) $(BTEST_INIT) \
67 -l org-batch-test-init \
68 --eval '(setq \
69 org-batch-test t \
70 org-babel-load-languages \
71 (quote ($(foreach ob-lang,\
72 $(BTEST_OB_LANGUAGES) emacs-lisp shell org,\
73 $(lst-ob-lang)))) \
74 org-test-select-re "$(BTEST_RE)" \
75 )' \
76 -l org-loaddefs.el \
77 -l cl -l testing/org-test.el \
78 -l ert -l org -l ox \
79 $(foreach req,$(BTEST_EXTRA),$(req-extra)) \
80 --eval '(org-test-run-batch-tests org-test-select-re)'
82 # Running a plain emacs with no config and this Org-mode loaded. This
83 # should be useful for manual testing and verification of problems.
84 NOBATCH = $(EMACSQ) $(BTEST_INIT) -l org -f org-version
86 # start Emacs with no user and site configuration
87 # EMACSQ = -vanilla # XEmacs
88 EMACSQ = $(EMACS) -Q
90 # Using emacs in batch mode.
91 BATCH = $(EMACSQ) -batch \
92 --eval '(setq vc-handled-backends nil org-startup-folded nil)'
94 # Emacs must be started in toplevel directory
95 BATCHO = $(BATCH) \
96 --eval '(add-to-list '"'"'load-path "./lisp")'
98 # How to generate local.mk
99 MAKE_LOCAL_MK = $(BATCHO) \
100 --eval '(load "org-compat.el")' \
101 --eval '(load "../mk/org-fixup.el")' \
102 --eval '(org-make-local-mk)'
104 # Emacs must be started in lisp directory
105 BATCHL = $(BATCH) \
106 --eval '(add-to-list '"'"'load-path ".")'
108 # How to generate org-loaddefs.el
109 MAKE_ORG_INSTALL = $(BATCHL) \
110 --eval '(load "org-compat.el")' \
111 --eval '(load "../mk/org-fixup.el")' \
112 --eval '(org-make-org-loaddefs)'
114 # How to generate org-version.el
115 MAKE_ORG_VERSION = $(BATCHL) \
116 --eval '(load "org-compat.el")' \
117 --eval '(load "../mk/org-fixup.el")' \
118 --eval '(org-make-org-version "$(ORGVERSION)" "$(GITVERSION)" "'$(datadir)'")'
120 # How to byte-compile the whole source directory
121 ELCDIR = $(BATCHL) \
122 --eval '(batch-byte-recompile-directory 0)'
124 # How to byte-compile a single file
125 ELC = $(BATCHL) \
126 --eval '(batch-byte-compile)'
128 # How to make a pdf file from a texinfo file
129 TEXI2PDF = texi2pdf --batch --clean --expand
131 # How to make a pdf file from a tex file
132 PDFTEX = pdftex
134 # How to create directories with leading path components
135 # MKDIR = mkdir -m 755 -p # try this if you have no install
136 MKDIR = install -m 755 -d
138 # How to create the info files from the texinfo file
139 MAKEINFO = makeinfo
141 # How to create the HTML file
142 TEXI2HTML = makeinfo --html --number-sections
144 # How to find files
145 FIND = find
147 # How to remove files
148 RM = rm -f
150 # How to remove files recursively
151 RMR = rm -fr
153 # How to copy the lisp files and elc files to their destination.
154 # CP = cp -p # try this if you have no install
155 CP = install -m 644 -p
157 # How to obtain administrative privileges
158 # leave blank if you don't need this
159 # SUDO =
160 SUDO = sudo
162 # Name of the program to install info files
163 # INSTALL_INFO = ginstall-info # Debian: avoid harmless warning message
164 INSTALL_INFO = install-info
166 # target method for 'compile'
167 ORGCM = dirall
168 # ORGCM = dirall # 1x slowdown compared to default compilation method
169 # ORGCM = single # 4x one Emacs process per compilation
170 # ORGCM = source # 5x ditto, but remove compiled file immediately
171 # ORGCM = slint1 # 3x possibly elicit more warnings
172 # ORGCM = slint2 # 7x possibly elicit even more warnings