* doc/Makefile (org-version.tex): Use printf instead of echo to
increase portability.
By default GNU coreutil's echo disables the interpretation of
backslash escapes (-E option), but this isn't the case for some echo
variants.
Reported-by: Dale <dale@codefu.org>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00619.html>
* doc/Makefile: Add rule to generate org-version.tex.
* doc/orgcard.tex: Include org-version.tex rather than explicitly
setting version and year.
This removes the only instance in the repo where the Org version is
hardcoded.
* doc/Makefile (%.pdf): Ensure that LANG and LC_ALL are set to "C",
not "C " (with trailing whitespace).
Make evaluation order produces spurious whitespace in variables when a
variable definition is followed by whitespace plus a comment.
* Makefile: Include default.mk and targets.mk from mk/ where they've
been moved to.
* README_maintainer: Rename utils to make throughout.
* doc/Makefile: Rename utils to make throughout.
* doc/org.texi: Remove reference to utils/, x11idle.c is now in
contrib/scripts.
* mk/make_emacs_changelog: Add mk/ to list of directories not to be
reported in Emacs' ChangeLog. Also retain utils/ and re-add
UTILITIES; add a comment explaining why these need to stay.
* mk/default.mk: Rename utils to make throughout. Include version.mk
from mk/ where it's been moved to.
* mk/targets.mk: Rename utils to make throughout.
* mk/server.mk: Rename utils to make throughout. Only put those files
from mk/ into the archives that are needed outside the server:
default.mk targets.mk version.mk and org-fixup.el.
* lisp/org-compat.el: Rename utils to make throughout.
* .gitignore: Rename utils to make throughout.
* UTILITIES/org-fixup.el (org-make-local-mk): New function to create a
local.mk template from default.mk.
* UTILITIES/org-fixup.el (org-make-letterformat): New function to
replace the format string for A4 with one for Letter.
* default.mk: Few cosmetic changes to the template section. Add
definition MAKE_LOCAL_MK for call to org-make-local-mk. Remove
definition for SED, which is not used anymore. Implement MKDIR with
'install -d' by default. Since both CP and MKDIR are now
implemented with install, this reduces the number of external
dependencies. Add mode settings to both invocations of install to
keep the modes of installed files sane even if umask is set to a
strange value.
* targets.mk: Remove sed script and use $(MAKE_LOCAL_MK) instead.
* doc/Makefile: Remove sed script and replace with emacs script. This
script can not be placed into a variable since it would expand $<
and $@ in the context of the "card" target rather than the pattern
rule.
* doc/Makefile: org-version.inc is again dependent on org.texi. This
avoids recompilation when nothing has been changed; target "clean"
still removes orgversion.texi to produce a consistent set of
documentation and code after a "make clean" on toplevel
* targets.mk: add "doc" as prerequisite to "all" and "compile" to have
it call "clean" in the doc subdir.
* 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.
* doc/Makefile: rename auto-generated file "git-describe.texi" to
"org-version.inc" to allow for easier inclusion into Emacs.
* doc/org.texi: include "org-version.inc" instead of
"git-describe.texi".
* lisp/Makefile: new auto-generated file org-version.el with autoload
cookies. The version strings will be pulled during autoload
extraction into org-install.el (standalone org-mode) or
../loaddefs.el (Emacs).
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: check for release and git version and record this
into environment variables for use in sub-make invocations; add
new target "compile-dirty" that does not invoke "make clean" first
* doc/Makefile, lisp/Makefile: remove git version check, since
they are now provided by first-level make
* lisp/Makefile: add insertion of version information into
org-install.el, have org-install.el depend on LISPF rather than
LISPC so that autoloads can be produced without compiling
everything and remove insertion into org.el and re-compilation
during install; add new target "compile-dirty" to support
invocation from first-level make
* lisp/org.el (org-version): remove determination of version
information, show "N/A" if the information is not provided via
org-install.el
* doc/Makefile: introduce target for git-describe.texi, which is an
automatically generated file that records the output of git-describe
and date; remove this file during make clean
* doc/org.texi: remove @set for VERSION and DATE and do an @include
git-describe.texi instead
* doc/Makefile: cleanall additionally removes the directories for
manual and guide; fix the dir file in infodir after removal of org
documentation
* lisp/Makefile: remove debug statement
* 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