Makefile: allow for different compilation methods
[org-mode.git] / Makefile
blob0606f58ef91880db2aab75290ba89bb31d1cb815
1 # Makefile - for the org-mode distribution
2 # GNU make is required
4 # This file is not part of GNU Emacs
6 # set up environment
7 include default.mk # defaults, customizable via "local.mk"
8 -include local.mk # optional local customization, use default.mk as template
10 # default target is "all" unless overridden in local.mk
11 all::
13 # Describe valid make targets for org-mode.
14 .PHONY: targets help helpall
15 targets: help
16 help helpall::
17 $(info )
18 $(info Getting Help)
19 $(info ============)
20 $(info )
21 $(info make help - show brief help)
22 $(info make targets - ditto)
23 $(info make helpall - show extended help)
24 $(info )
25 $(info Build and Check)
26 $(info ===============)
27 $(info make - build Org ELisp and all documentation)
28 $(info make all - ditto)
29 $(info make compile - build Org ELisp files)
30 $(info make autoloads - create org-install.el to load org in-place)
31 $(info make check - build Org ELisp files and run test suite)
32 helpall::
33 $(info make test - ditto)
34 $(info make compile-dirty - build only stale Org ELisp files)
35 $(info make test-dirty - check without building first)
36 $(info )
37 $(info Compatibility)
38 $(info =============)
39 $(info make oldorg - what the old make did: compile autoloads info)
40 $(info )
41 $(info Convenience)
42 $(info ===========)
43 $(info make up0 - pull from upstream)
44 $(info make up1 - pull from upstream, build and check)
45 $(info make up2 - pull from upstream, build, check and install)
46 $(info make update - pull from upstream and build)
47 $(info make update2 - pull from upstream, build and install)
48 $(info make uncompiled - combine cleanlisp and autoloads)
49 $(info make local.mk - create new local.mk as template for adaptation)
50 $(info )
51 $(info Cleaning)
52 $(info ========)
53 $(info make clean - remove built Org ELisp files and documentation)
54 $(info make cleanall - remove everything that can be built and all remnants)
55 $(info make cleandirs - clean in etc/, lisp/ and doc/)
56 $(info make cleancontrib - remove remnants in contrib/)
57 $(info make cleantesting - remove remnants in testing/)
58 $(info make cleanutils - remove remnants in UTILITIES/)
59 $(info make cleandoc - remove built documentation)
60 $(info make cleandocs - ditto)
61 $(info make cleanlisp - remove built Org ELisp files)
62 $(info make cleanelc - ditto)
63 $(info make cleantest - remove test directory)
64 $(info make clean-install - remove previous Org installation)
65 $(info )
66 $(info Configuration Check)
67 $(info ===================)
68 help helpall::
69 $(info make config - check main configuration)
70 helpall::
71 $(info make config-test - check test configuration)
72 $(info make config-exe - check executables configuration)
73 $(info make config-cmd - check command configuration)
74 $(info make config-all - check all configuration)
75 $(info make config-eol - check all configuration, mark end-of-line)
76 $(info )
77 $(info Documentation)
78 $(info =============)
79 help helpall::
80 $(info make doc - build all documentation)
81 helpall::
82 $(info make docs - ditto)
83 help helpall::
84 $(info make info - build Info documentation)
85 helpall::
86 $(info make html - build HTML documentation)
87 $(info make pdf - build PDF documentation)
88 $(info make card - build reference cards)
89 $(info make refcard - ditto)
90 help helpall::
91 $(info )
92 $(info Installation)
93 $(info ============)
94 $(info make install - build and install Org)
95 helpall::
96 $(info make install-etc - build and install files in /etc)
97 $(info make install-lisp - build and install Org Elisp files)
98 $(info make install-info - build and install Info documentation)
99 help helpall::
100 @echo ""
102 include targets.mk # toplevel make machinery