* Makefile: new target "helpall" to document all targets, while "help"
continues to show a brief subset.
* default.mk: add cutlines for sed to produce local.mk with.
* targets.mk: add target "local.mk" to produce an (empty) local.mk
configuration template when it isn't already present. Ignore any
error when making this target since sed might not be present on all
systems. Redefine target "update" to not include testing, similarly
add target "update2" to additionally install without test. Add
targets "up0" to stop after git pull and "up1" to stop after test,
while "up2" continues to do everything and then installs. Complete
.PHONY target list. Add "refcard" target for compatibility with old
make. Clean contrib in "cleanall", too.
* doc/Makefile: read targets to make for "doc" from $(ORG_MAKE_DOC),
defaults to "info html pdf"; can be overridden by the user in
local.mk.
* targets.mk: read targets to make for "doc" and "docs" from
$(ORG_MAKE_DOC), defaults to "info html pdf"; can be overridden by
the user in local.mk.
* default.mk: document ORG_MAKE_DOC and provide a (commented) example
of how to have make only produce info documentation.
* default.mk: Run emacs without a site-file. BTEST_EXTRA
redefined to hold names of extra packages to require for
testing. BTEST_PRE and BTEST_POST allow additional
options to be injected around setup of standard load path
for testing. BTEST_OB_LANGUAGES holds the names of Babel
languages to required. R is not added to the list since
it requires ess to be installed and configured. All
variables can be overridden in local.mk as before.
default.mk: add $(testdir) definition based on $(TMPDIR), which
defaults to "/tmp" if not already defined
targets.mk(check): call test suite with TMPDIR=$(testdir) and remove
direactory after successful run of testsuite. Do not remove
temporary test files if $(TEST_NO_AUTOCLEAN) is set to a non-empty
value.
targets.mk(cleandirs): refactor the first part of what cleanall
had been doing.
targets.mk(cleanall): run cleantest and cleandirs, then remove
backup files.
targets.mk(cleanlisp): remove backup files.
targets.mk(cleandoc): remove backup files.
targets.mk(cleanall): run cleantest and cleandirs, then remove
backup files.
targets.mk(cleantest): removal of temporary test files.
defaults.mk: define SUDO to map to sudo, add comment to define
blank if administrative privileges are not needed (already root on
Linux or Administrator on Windows)
targets.mk: use newly defined $(SUDO) uinstead of plain sudo,
replaces some braces with parentheses
.gitignore: also ignore *.t2d directories in doc/ that texi2pdf
might produce when run in tidy mode
default.mk: correct some comments
targets.mk: implement missing clean targets and add aliases for
them
default.mk: make sure org-release is defined when starting emacs
in batch mode. Add a suffix to see if this definition leaks into
the installed version someplace. When running from an installed
version, this definition is pulled in from org-install.el.
Makefile: add help for target "test"
default.mk: more sane location for local data, add $(BTEST) that
will run the test in batch mode. Some tests require non-standard
packages, introduce $(BTEST_EXTRA) in order to add options so they
can be found.
targets.mk: new target "test" that implies "all" and then runs all
test. Hidden target "test-dirty" runs tests without doing
compilation.
Makefile: remove includes for maintainer targets, these will go
into local.mk on the server
default.mk: introduce $(datadir) to replace $(etcdir) in etc/Makefile
doc/Makefile: replace $etcdir) with $(datadir)
lisp/Makefile: record ODT styles location as defconst in org-install
{doc,etc,lisp}/Makefile: prefix all installation targets with $(DESTDIR)
* targets.mk: target "all" for lisp directory does now the same as
"compile", i.e. it cleans .elc file first
* Makefile: describe all targets and re-arrange the target groups
* Makefile, lisp/Makefile, doc/Makefile: add target clean-install
to remove files in install-directories
* default.mk: add customization variable $(SED)
* doc/Makefile: do not remove dir while cleaning
* lisp/Makefile: use sed instead of perl to weave git-status into
org.el and ignore any errors while doing it. Keep git status in
$(GITSTATUS) to make it more clear what happens in the check.
* Makefile: use info function for output and call shell only once
* default.mk: add PDFTEX and RMR variables for customization
* lisp/Makefile: add target 'all' and create $(lispdir) if necessary
* maint-targets.mk: invoke sub-make for HTML manuals
* maint.mk: remove unsused VARIABLES
* targets.mk: invoke sub-make for ./doc and clean up some targets
* Makefile: add an optional include local.mk
* default.mk: install lisp files into org subfolder by default
* lisp/Makefile: new file to handle all make targets within lisp
* lisp/dependencies.mk: dependencies, should rather be auto-generated
* maint.mk: remove obsolete variable definitions
* targets.mk: hand off to sub-make in ./lisp, remove unused targets
* Makefile: declare phony targets, remove help text for install-info-debian
* default.mk: add variable for FIND and RM
* targets.mk, maint-targets.mk: shuffle targets to where they belong, declare
phony targets, work around a texi2dvi bug, use pattern rules, use targets for
dependencies instead of repeating them verbatim
* default.mk: change prefix to /usr/share and do some formatting
This change establishes the baseline installation path that should work
out-of-the-box on Linux and Cygwin when the install is done system-wide (which
needs administrator privileges).
* Makefile: just keep help target (now also default for no target)
and include all other parts from here.
* default.mk: user editable variables with their default values
* maint.mk: definitions by maintainer, should not be touched by user
* targets.mk: user callable targets
* maint-targets.mk: targets for maintenance, should not be called by user
* dependencies.mk: keep order during compile (could become auto-generated)
This is the first in a series of patches that restructures the Makefile to
achieve easier customization and separation of different concerns (mainly user
vs. maintenance of the distribution). This first patch simply establishes a
set of files without changing anything else to provide a clean starting point.
It uses GNU make extensions since Makefile already depends on GNU make anyway.