Commit Graph

227 Commits

Author SHA1 Message Date
Achim Gratz e6228c448e Makefile: implement target config-version
* mk/targets.mk: Implement target `config-version´ to show the version
  of Org from both make's and Emacs' perspective.  Run that target at
  the end of all `config-*´ targets.

* mk/default.mk: Add SHOWVER with the appropriate invocation of emacs
  to output the Org version.

* Makefile: Document new target `config-version´ in `helpall´.
2012-09-29 10:47:40 +02:00
Achim Gratz bf352eceda Rename utils/ to mk/, move some files to mk/ and make the requisite changes throughout
* 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.
2012-08-26 15:27:19 +02:00
Achim Gratz 628ccbfee7 Makefile: add link to Worg to `make help´
* Makefile: Add link to documentation for the build system on Worg.
2012-08-21 21:34:18 +02:00
Achim Gratz 226b15baa0 Makefile: implement different compilation methods, rename _COMPILE_ to ORGCM
* default.mk, targets.mk, lisp/Makefile: Rename _COMPILE_ to ORGCM.

* default.mk: Define ORGCM=dirall, show other possible values as
  comments

* targets.mk: Implement target `single´, temporarily set
  ORGCM (overriding configuration).  Show newly introduced
  configuration variables with `check-*´.

* lisp/Makefile: Implement dispatch for compile based on ORGCM.
  Output header that contains the target for easier debugging.

* Makefile: Document target `single´.
2012-08-21 21:24:23 +02:00
Achim Gratz 3c1c04d8bc Revert "Revert "Makefile: allow for different compilation methods""
This reverts commit 510f6464b0.
2012-08-21 21:24:21 +02:00
Bastien Guerry 65dcca5086 Reduce the number of targets displayed by `make helpall'
Removes these targets: check cleancontrib cleandirs cleandoc cleandocs
cleanelc cleanlisp cleantest cleantesting cleanutils compile-source
config-eol
2012-08-15 00:33:17 +02:00
Bastien Guerry 510f6464b0 Revert "Makefile: allow for different compilation methods"
This reverts commit 3e63c3e97a.
2012-08-15 00:10:32 +02:00
Bastien Guerry c49f74c85a Makefile: s/org/Org 2012-08-09 22:33:19 +02:00
Bastien Guerry 0524a24c36 Makefile: Small formatting fix. 2012-08-09 22:31:47 +02:00
Achim Gratz 3e63c3e97a Makefile: allow for different compilation methods
* targets.mk: Remove targets compile-source and compile-single,
  obsoleted by new configuration option.  Remove repetitive code in
  clean targets by using pattern substitution.  Avoid superfluous
  invocations of find by using multiple path arguments.

* Makefile: Remove compile-source and compile-single target
  documentation.

* default.mk: Add new option _COMPILE_ to select compilation method.
  Set default value to keep current behaviour.

* lisp/Makefile: Use new $(_COMPILE_) to dispatch compilation target.
  Implement private targets compile-dirall (default), compile-single,
  compile-slint1 and compile-slint2.

The additional compilation methods catch more and/or different errors
in the sources by compiling the sources in a single Emacs process per
compilation and with different conditions of the source directory, but
take much longer to compile even in the absence of such errors.  The
default method to use can be changed (like all other options) via
local.mk or temporarily on the command line.
2012-08-09 18:25:27 +02:00
Achim Gratz b9916f2e2b Makefile: enable one-process-per-source compilations again
* default.mk: Re-introduce ELC for single file compilation.

* targets.mk: New targets compile-single and compile-single-source
  that get handed off to lisp/Makefile.

* lisp/Makefile: Implement pattern rule using $(ELC).  Implement
  target compile-single that uses a separate Emacs process for each
  target by invoking the pattern rule.  Implement target
  compile-single-source that additionally removes the compiled file
  directly after it has been produced, so compilation will always use
  source files only, never byte-compiled files.

* Makefile: Document new targets.

These new targets are meant to check for problems with
interdependencies in Org.
2012-08-04 15:59:08 +02:00
Achim Gratz 472647fd5c Makefile: add new target cleantesting
* targets.mk: Add new target 'cleantesting', remove remnants from testing/.
* Makefile: Document new target.
2012-07-15 18:18:45 +02:00
Achim Gratz 9a353bdacc Add configuration checks to build system
* targets.mk: Add targets "config", "config-test", "config-exe",
  "config-cmd", "config-all" and "config-eol" (all .PHONY).  These
  echo various configuration dependent variables so they can be more
  easily checked for correctness.

* Makefile: Document the new targets, "config" with "help" and the
  rest with "helpall".
2012-06-04 08:41:01 +02:00
Achim Gratz 3051d76892 Document convenience target 'uncompiled'.
* Makefile: Document convenience target 'uncompiled' (a surrogate for
  'make cleanlisp autoloads').
2012-05-25 01:25:02 +02:00
Achim Gratz 03e2192b4b correct output from "make helpall"
* Makefile: correct definitions to have "make helpall" display the
  output in the way it was intended.  Remove documentation for
  "cleanrel" as it is not intended to be used except on the release
  server; this target may move into server.mk, but for now leave it
  in targets.mk.
2012-05-18 07:45:46 +02:00
Achim Gratz a965630293 spelling fixes
Makefile: dito -> ditto
2012-05-01 10:07:29 +02:00
Achim Gratz 357fd63a14 Improve compatibility with old Makefile
* targets.mk: change the "local.mk" template so that "oldorg" will be
  the default target for maximum compatibility.  Admonish info message
  with a reminder to use "make help" for more information on targets
  and that "oldorg" is the default target for now.  Add new
  convenience target "uncompiled" that will keep the lisp directory
  free from *.elc files and the autoload files up-to-date.

* Makefile: make "targets" and "helpall" depend on "help" so that only
  "help::" or "helpall::" needs to be written for adding more help
  messages.  Useful when users want to add their own messages to "make
  help" et al.
2012-04-26 08:55:32 +02:00
Achim Gratz 687766c922 Introduce compatibility and convenience targets, local.mk template, add "helpall"
* 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.
2012-04-23 21:42:08 +02:00
Achim Gratz c83da85416 provide an easier way to get the old behaviour of plain "make" back
* Makefile: move setup includes to top

* lisp/Makefile: reduce verbosity of org-version.el target, add a more
  friendly @echo instead.

* targets.mk: provide compatibility target "oldorg" to do "compile
  autoloads info" which is closest to the old behaviour.
2012-04-21 17:38:49 +02:00
Achim Gratz 4d97b47fe5 clean up documentation and provide "doc" as alternative target for "docs"
* Makefile: make documentation follow the implementation.

* targets.mk: add "doc" as alternative target for "docs" to adhere
  more closely to standards
some fixes
2012-04-21 12:27:18 +02:00
Achim Gratz 035f24673b introduce "check" as alias for "test" to comply with GNU Makefile conventions
Makefile: change test to check in help text

	  targets.mk: add check as alias for test
2012-04-20 21:04:13 +02:00
Achim Gratz 4a7ed95010 introduce new make target "test"
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.
2012-04-20 21:04:12 +02:00
Achim Gratz 3661de9368 The default target should be "all"
Makefile: "all" should be the default target
2012-04-20 21:04:11 +02:00
Achim Gratz 6a3ec67abd Introduce $(datadir), prefix all installation paths with $(DESTDIR)
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)
2012-04-20 21:04:11 +02:00
Achim Gratz 1e343f7f3b update target descriptions, target "all" now automatically cleans .elc before compilation
* 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
2012-04-20 21:04:10 +02:00
Achim Gratz a5cb04dcd8 hand off ./doc to sub-make
* 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
2012-04-20 21:04:07 +02:00
Achim Gratz ac3162b4f0 activate local.mk and hand off ./lisp to a sub-make
* 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
2012-04-20 21:04:07 +02:00
Achim Gratz 77f0e50787 shuffle targets to their correct place, harden recipes
* 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
2012-04-20 21:04:07 +02:00
Achim Gratz b0ebd4365e Split off Makefile into several parts, included from master Makefile
* 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.
2012-04-20 21:04:07 +02:00
Bastien Guerry 6bcba14919 Fix Makefile.
There was two problems: fixrelease merged the wrong way (merging
master into maint) and cleanrel tried to clean up files that were
already deleted.
2012-03-19 22:37:52 +01:00
Bastien Guerry ecd0562c5f Fix the master branch.
I started from the 78ec8e commit then cherry-picked and squashed
commits that have been done in master since then, except the bad
commits that overwrote the tree (in master) with the tree in maint.

This commit also bumps the version number to 7.8.06.

The only "fix" that was made between 78ec8e and the previous commit
is e0072f which has been reported to break stuff.
2012-03-19 22:01:29 +01:00
Bastien Guerry de42649f7b Manually revert maint to e85080.
e85080 is the last correct commit in the maint branch
before releasing 7.8.04.  The 7.8.05 release should be
done from this commit.
2012-03-17 16:28:46 +01:00
Bastien Guerry 73bb18ba37 Manually revert to the Release 7.8.04 tag. 2012-03-17 15:52:24 +01:00
Bastien Guerry 6e534f9c61 Manually revert back to commit e85080.
This fixes a wrong merge that should not have happened:
commit 7e903a merges the master branch into the maint branch,
while we really want to keep the maint branch a bugfix-only
branch.

This commit reverts back the maint branch to its state before
merging the master branch.  From there, we will fix remaining
problems with the maint branch (e.g. copyright issues) then
release this maint branch as Org-mode 7.8.05.
2012-03-17 14:34:01 +01:00
Eric Schulte 5061de6ee3 integrating ob-scala and ob-io into Org-mode, with code cleanup 2012-02-28 19:45:01 -07:00
Jambunathan K f7ea4bef43 Makefile: Support DESTDIR in Makefile
* Makefile (install-lisp, install-info, install-data): Support
DESTDIR.

Patch by Ulrich Mueller <ulm@gentoo.org>. See
http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00042.html
2012-02-24 16:20:25 +05:30
Eric Schulte 647996c0a3 add Maxima to the Makefile
* Makefile (LISPF): Add Maxima.
2012-01-05 10:28:36 -07:00
Jambunathan K 07f006e4fd Fix packaging of ODT exporter (org-7.8.02) in Gentoo
* org-odt.el (org-odt-lib-dir): Add docstring.
(org-odt-data-dir): New variable.  Use this variable to
control the locations from which the ODT exporter picks the
OpenDocument styles and schema files from.  Set this variable
explicitly only if the in-built heuristics for locating the
above files fails.
(org-odt-styles-dir-list, org-odt-schema-dir-list): New
variables.  Pay specific attention to (eval-when-compile ...)
form through which Makefile's $(datadir) - contained in
`org-odt-data-dir' - gets compiled in as a "hard coded"
constant.
(org-odt-styles-dir, org-export-odt-schema-dir): Add messages
to aid debugging.

* Makefile (etcdir): Remove this.
(stylesdir): Rename to datadir.
(datadir): Was stylesdir.
(STYLESFILES): Rename to DATAFILES.
(DATAFILES): Was STYLESFILES.  Offer a menu of files that is
available.  Package maintainers can use this list and their
own discretion to cherry-pick what they are willing to install
in their distribution.
(CP): Add recursive flag so that directories listed in
DATAFILES can be copied enbloc.
(install-lisp): Use conditional flag BATCH_EXTRA
(BATCH_EXTRA): "Target-specific variable value" that plumbs
the value of $(datadir) in to org-odt.el via
`org-odt-data-dir'.  See ChangeLog entries for
`org-odt-styles-dir-list' and `org-odt-schema-dir-list'.
(BATCH): Add BATCH_EXTRA.
(lisp/org-odt.elc): Force re-generation of this target every
time so that $(datadir) gets plumbed in to org-odt.el through
`org-odt-data-dir'.
(org-odt-data-dir): "FORCE" target.  Also a variable defined
in org-odt.el.
(install-etc): Rename this target to install-data.
(install-data): Was install-etc.

Fix for the following report:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-12/msg00799.html

Ulrich Mueller <ulm@gentoo.org> writes:
  In Gentoo we have an issue with the location of the
  OpenDocument style files, reported to us in bug 396269 [1].

  When org-mode is installed as a separate Gentoo package, its
  lisp files are installed in
  /usr/share/emacs/site-lisp/org-mode/.  According to our
  policy, non-lisp files would go to
  /usr/share/emacs/etc/org-mode/. We would pass this as the
  "etcdir" parameter to "make install", so the odt style files
  would be installed in stylesdir =
  /usr/share/emacs/etc/org-mode/styles/.

  Now org-odt.el currently defines org-odt-styles-dir in a
  defconst, and it searches only in ../etc/styles/,
  ./etc/styles/, and ./etc/org/ relative to lispdir. Obviously
  it cannot find the files in the Gentoo location.

  [1] <https://bugs.gentoo.org/show_bug.cgi?id=396269>
2011-12-31 01:11:33 +05:30
Bastien Guerry a0f2396f8f Move org-eshell.el by Konrad Hinsen to Org's core.
* org-eshell.el: New file.
2011-12-21 09:43:48 +01:00
Dave Marquardt e514982ae1 Fix Makefile: install the etc/ directory and styles files correctly. 2011-12-21 00:16:05 +01:00
Bastien Guerry 9351ad31e5 Makefile: include etc/* in the distribution. 2011-12-13 01:31:00 +01:00
Jambunathan K ff99056baf Makefile (PKG_FILES) : Include etc/
Also fix all byte-compiler warnings in org-lparse.el and org-odt.el.
2011-12-11 02:02:33 +05:30
Jambunathan K 9ed283b15a Makefile (LISPF): Add org-lparse.el and org-odt.el
Also update dependencies.
2011-12-10 18:13:06 +01:00
Eric Schulte 6cad241b0e moving ob-picolisp into the core
Thanks to Thorsten Jolitz for contributing support for this new
language.

* Makefile (LISPF): Add ob-picolisp to the Makefile.
* contrib/babel/langs/ob-picolisp.el: Remove from contrib.
* lisp/ob-picolisp.el: Add to core lisp directory.
* lisp/org.el (org-babel-load-languages): Add Pico Lisp to the list of
  supported code block languages.
2011-11-29 09:05:31 -07:00
Eric Schulte 6bbc3566f7 bring ob-fortran into the core -- FSF assignment completion
Thanks to Sergey Litvinov for contributing this language support!

* lisp/ob-fortran.el: Adding support for Fortran code blocks.
* Makefile (LISPF): Compile Fortran support.
* lisp/org.el (org-babel-load-languages): Adding fortran to this list.
2011-11-08 14:18:57 -07:00
Eric Schulte 53573d6e28 adding initial support for evaluation of shen code blocks 2011-10-06 19:55:47 -06:00
Eric Schulte 58763f36e3 moving ob-fortran from core to contrib until FSF assignment is complete 2011-07-18 15:47:39 -06:00
Eric Schulte 1c913603cd moving ob-fortran into core, and cleaning up the code 2011-07-18 12:19:21 -06:00
Eric Schulte 06bf0eb7fe ob-java: minimal support for evaluation of java code blocks 2011-07-18 10:08:04 -06:00
Michael Markert 31effac797 Fix problem with autoloads. 2011-07-16 14:58:53 +02:00