Commit Graph

215 Commits

Author SHA1 Message Date
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
Achim Gratz 74e333cb21 remove documentation for removed make target install-info-debian
* Makefile: also remove the documentation explaining the use of target
  install-info-debian, which was removed previously

TINYCHANGE
2011-07-14 17:51:14 +02:00
Achim Gratz ce3431c4b0 remove Makefile target install-info-debian, modify install-info to be compatible
* Makefile: remove target install-info-debian and modify target
  install-info so that it is compatible with the older dpkg version
  of install-info that resides in /usr/sbin and may be picked up
  when root is installing info files

Initial reporting by Jude DaShiell, suggestions for changing Makefile
by Nick Dokos.  The solution implemented re-arranges the arguments to
install-info to be compatible with both the dpkg and GNU version of
the program.  On Debian, /usr/bin/install-info is actually a wrapper
that calls /usr/bin/ginstall-info and issues the following warning
when called as root:

This is not dpkg install-info anymore, but GNU install-info
See the man page for ginstall-info for command line arguments

This warning can be safely ignored since we actually prefer that GNU
install-info is called even though we've arranged the arguments to
be compatible with dpkg install-info.

Tested on openSuSE Tumbleweed, Win7/Pro (both MSys and Cygwin) and by
Jude DaShiell on Debian Squeeze and Slackware.

TINYCHANGE
2011-07-12 00:18:44 +02:00
Eric Schulte 197d23cc6f ob-lilypond: add to make file and fix compiler warnings
* Makefile (LISPF): Adding ob-lilypond.el.
* lisp/ob-lilypond.el (show-all): Declaring function from outline.el.
  (org-babel-default-header-args:lilypond): Declared.
  (ly-process-basic): Use the appropriate prefix for the temporary
  file, and don't call a function from ob-dot.el.
  (ly-version): Let-bind a free variable.
2011-07-07 19:34:08 -06:00
Bastien Guerry 6a76a485a0 Makefile: Remove dash from git commands
I.e. "git tag" instead of "git-tag".
2011-07-07 13:43:25 +02:00
Bastien Guerry c9b49c05a6 Makefile: minor fix to the git command in make testrelease 2011-07-07 08:53:40 +02:00
Bastien Guerry b109cbfab5 Makefile: add `make targets' to document possible targets
Thanks to Jude DaShiell for this suggestion, and to Nick Dokos for
comments.
2011-07-05 11:27:13 +02:00
Barak A. Pearlmutter 926b6163f1 Makefile robustness tweak
From 7c79ea0a21ad6d2646958d25c298a1ac9624e9f6 Mon Sep 17 00:00:00 2001
From: Barak A. Pearlmutter <barak+git@cs.nuim.ie>
Date: Sun, 29 May 2011 22:20:31 +0100
Subject: [PATCH] fail to rm or build incorrect files when doc directory nonexistent
2011-05-31 13:42:26 +02:00
Eric Schulte 5c1cc3fb4b adding support for evaluation of awk code blocks
* Makefile (LISPF): Adding ob-awk to the makefile
* lisp/org.el (org-babel-load-languages): Adding ob-awk to the list of
  executable languages.
2011-05-26 07:34:58 -06:00
Carsten Dominik aaf0e2d6bb Get rid of some compiler warnings
* Makefile (lisp/org-special-blocks.elc): Add dependency on org-compat.el
* lisp/ob-ref.el (org-at-item-p): Declare function.
* lisp/org-agenda.el (diary-time-regexp): defvar.
* lisp/org-archive.el (org-archive-subtree): Bind local variable `infile-p'.
* lisp/org-capture.el (org-capture-insert-template-here): Get template
text from property list, to avoid byte compiler message.
* lisp/org-latex.el (org-export-latex-tables): Bind local variable `width'.
* lisp/org-special-blocks.el (org-compat): Add require statement.
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Bind local variable `const-str'.
* lisp/org.el (org-eval): Moved function here from org-agenda.el.
2011-03-01 07:24:14 +01:00
Bastien Guerry df23e58b48 Rename org-complete.el to org-pcomplete.el to avoid file-name clash.
On Jan 26, 2011, at 10:34 AM, Eli Zaretskii wrote:

> The file org-complete.el, added about a month ago, causes a file-name
> clash with org-compat.el after 8+3 truncation.  This causes trouble
> when unpacking Emacs tarballs on DOS filesystems.

Also rename org-complete-* functions in org-pcomplete.el and remove a
wrong reference to org-complete in doc/org.texi.

We still use org-complete-* namespace for the custom group and the
custom variables.
2011-01-31 18:40:05 +01:00
Bastien Guerry 88871b5053 Add warnings about directives not suited for local use. 2011-01-15 11:58:33 +01:00
Bastien Guerry 0dea206971 Makefile: New sync_* directives and a small fix
sync_release and sync_manual are copying release files from the
temporary RELEASE directory to the server at /var/www/orgmode.org

the relup directive now calls makerelease and sync_* directives.

A small fix: remove calls to updateweb.
2011-01-15 11:55:59 +01:00