Commit Graph

30 Commits

Author SHA1 Message Date
Ihor Radchenko 71fbe92c2e
mk: Allow parallel execution
* lisp/Makefile (.NOTPARALLEL): Do not suppress parallel execution.
(all compile compile-dirty):
(compile-single):
(compile-native):
(compile-source):
(compile-slint1):
(compile-slint2): Explicitly declare prerequisites that must be run
sequentially.
* mk/targets.mk (.NOTPARALLEL): Do not suppress parallel execution.
(uncompiled):
(update update2):
(repro): Explicitly declare prerequisites that must be run
sequentially.
2024-02-09 17:15:53 +01:00
Ihor Radchenko ee395b9b8e
Add new make target for native compilation
* lisp/Makefile (LISPN): New variable listing all the valid .eln
targets.
(_ORGCM_):
(compile-native):
(native): New compile target.
(%.eln): Rule how to compile .eln files from .el files.
* mk/default.mk (ELN): Command to perform native compilation of a
single .eln file.
* mk/targets.mk (.PHONY):
(CONF_CALL): List the new targets and variables.
(native): Add target.
2024-02-08 20:16:51 +01:00
Ihor Radchenko eb6cabdee5
mk: Expand shell commands once only
* mk/targets.mk (GITVERSION):
(GITSTATUS):
(DATE):
(YEAR): Only expand the variables once, not in every make sub-process.
Previous code ran pwd/date/git in every make sub-process, slowing
things down significantly and unnecessarily.
2023-04-30 11:38:23 +02:00
Ihor Radchenko 6d37d2a8e7
* mk/targets.mk(GITVERSION): Provide commit number for shallow clones
Fall back to using git describe --always when git describe fails in
Org repo.

See https://orgmode.org/list/87bkmve8qv.fsf@gmail.com
2023-02-10 16:18:51 +03:00
Ihor Radchenko c29d3e997d
* mk/targets.mk (ORGVERSION): Prefer lisp/org.el version header
Do not use the latest Git tag.  Prefer the Version header in org.el.

The Git tag on main branch is only available for the latest release.
Before this commit, development Org version was indistinguishable from
the release version.

See https://orgmode.org/list/8735cfn44v.fsf@gnu.org
2022-09-26 19:14:20 +08:00
Bastien 1a8490b031 Remove request-assign-future.txt
The preferred way to share request-assign-future.txt is by pointing
to https://orgmode.org/request-assign-future.txt.

To access the text file from a repository, you can find it in the
orgweb repository: https://git.sr.ht/~bzg/orgweb/
2022-09-25 09:33:33 +02:00
Ihor Radchenko b713b9afa1
mk: Add make target "repro" for easy bug testing
* mk/default.mk (REPRO_DEBUG): New custom variable enabling extra
debugging facilities in Emacs instance open by make repro.
(REPRO_ARGS): Extra arguments passed to Emacs by make repro.
(REPRO_INIT):
(REPRO): Define Emacs cmd for testing.
* mk/targets.mk (.PHONY):
(repro): Add new target.
* doc/org-manual.org (Feedback): Describe the new make target.
2022-07-22 21:35:37 +08:00
Bastien 8db21e6cb3 Remove and update Makefiles as contrib/ has been moved out 2021-09-29 10:08:20 +02:00
Nicholas Vollmer 9a4a24a949 mk/targets.mk: Fix ORGVERSION in tag-less repos
* mk/targets.mk (ORGVERSION, GITVERSION): trim "-dev" suffix from ORGVERSION.

61336f80 uses org.el's Version metadata to generate ORGVERSION when
the source repository has no tags.
This can result in an org-version of "Major.Minor-dev".
The "-dev" suffix is not recognized by `version-to-list' as a valid
version syntax because it is not part of `version-regexp-alist'.
2021-09-23 21:40:50 -04:00
Greg Minshall 69a5591ad3 Build process: Do not attempt to clean =contrib/=
mk/targets.mk: Remove "contrib" from 'CLEANDIRS'.
2021-06-26 19:13:58 +02:00
Kyle Meyer 61336f80dc mk/targets.mk: Add version fallback for tag-less repos
* mk/targets.mk (ORGVERSION, GITVERSION): Get version from lisp/org.el
header if it can't be retrieved from git-describe.

As of elpa.git's ee03829f90 (Finalize the new master branch,
2020-12-14), org-release and org-git-version are empty strings in
https://elpa.gnu.org/packages/org-*.tar files.  This is because the
new setup executes `make autoloads info' in an elpa.git worktree with
an Org branch checked out, but elpa.git of course doesn't have Org's
release tags.

Maintaining the org.el version header has been a point of contention
in the past [1], but the header has been there for a while now.  Use
it to avoid the above elpa.git issue.  In the case of the master
branch, the org-release value generated in a tag-less repo will have a
different version than the one from a regular repo because org.el's
version header has a "-dev" suffix, but that's still better than an
empty version.

[1] For example: https://orgmode.org/list/87zj1uhix6.fsf@gmx.us/

Reported-by: Pierre Langlois <pierre.langlois@gmx.com>
Ref: https://orgmode.org/list/87y2hi9qev.fsf@gmx.com
2021-02-05 01:20:09 -05:00
Nicolas Goaziou af58a6dbf7 Change Org-mode into Org mode
* lisp/ob-core.el (org-babel-result-to-file):
* lisp/ob-picolisp.el:
* lisp/org-agenda.el (org-check-for-org-mode):
(org-search-view):
(org-tags-view):
(org-agenda-cleanup-fancy-diary):
(org-agenda-get-day-entries):
* lisp/org-table.el (orgtbl-mode):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode):
* lisp/org.el (org-modules):
(org-startup-options):
(org-fontify-meta-lines-and-blocks):
* mk/default.mk:
* mk/manfull.pl:
* mk/org-fixup.el (org-make-org-version):
(org-make-org-loaddefs):
* mk/orgcard2txt.pl (rep_esc):
* mk/targets.mk ($(info):
* testing/README:
(Example):
* testing/examples/no-heading.org:
* testing/examples/normal.org: Change Org-mode into Org mode
2017-12-31 15:48:09 +01:00
Kyle Meyer a8d007db15 doc/Makefile: Auto-generate org-version.tex for orgcard
* 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.
2017-06-28 00:54:32 -04:00
Achim Gratz bb3dca06a5 Makefile: provide CHMOD customization, use it for cleantest
* mk/default.mk (CHMOD): Addtional customization variable for
  chmod (change file permissions).  Explain why we need it for
  git-annex.

* mk/targets.mk (cleantest): If the plain $(RMR) fails, try to make
  directories writable recursively and retry the $(RMR).
  (cleanall, $(CLEANDIRS:%=clean%)): Use "+" instead of ";" to reduce
  the number of execs.
2016-02-14 12:44:56 +01:00
Erik Hetzner 5040718945 org-attach.el: Get attachments from git annex
* org-attach.el (org-attach-use-annex): New function to check if git
  annex should be used.
  (org-attach-annex-get-maybe): New function to get a file from git
  annex if necessary.
  (org-attach-annex-auto-get): New defcustom to determine behavior
  of org-attach-annex-get-maybe.
  (org-attach-open): Automatically get attached files from git annex when
  opening if necessary.
* testing/lisp/test-org-annex.el: New file for testing org-attach. Only
  contains code for testing org-attach with git annex at the moment.
* mk/targets.mk: Fix cleantest target so it can delete git annex repos.
2016-02-06 13:17:33 +01:00
Achim Gratz bd8bad281a Merge branch 'maint' 2014-07-02 20:33:04 +02:00
Achim Gratz d1692902f1 mk/targets.mk: consider only release_* tags for constructing version strings 2014-07-02 20:32:24 +02:00
Achim Gratz 01b42f91de Makefile: optionally switch to a specific git branch
* mk/default.mk (GIT_BRANCH): New configuration variable to specify a
  Git branch that is checked out before updating.

* mk/targets.mk (up0 up1 up2): Check out the branch in GIT_BRANCH
  before doing an update.  Stays on the current branch if GIT_BRANCH
  is undefined or empty.
2013-12-14 10:35:13 +01:00
Achim Gratz 49c128c300 Makefile: some refactoring for "make vanilla"
* mk/default.mk (BTEST_INIT): Isolate load-path manipulation into
  BTEST_LOAD and do whitespace cleanup.  (EMACSQ): New variable for an
  Emacs with no configuration files.  (NOBATCH, BATCH): Use EMACSQ.

* mk/targets.mk (vanilla): Do not echo command line and explicitly say
  that we don't get a return value.  (CONF_CALL): Add NOBATCH to the
  list of things shown in `make config-all´.
2013-12-14 10:27:31 +01:00
schulte.eric@gmail.com 04eb8d7d85 make vanilla: run Emacs -Q with *this* Org loaded
This change should make it easier to run interactive tests or to
  reproduce problems with the current Org-mode loaded and without any
  personal config.
2013-12-13 16:26:13 -07:00
Achim Gratz 1b0fb1a484 testing: allow to select tests
* mk/default.mk: Add default for new variable BTEST_RE to select all
  tests.  (BTEST_OB_LANGUAGES): Remove sh (always needed, as
  emacs-lisp) and add comment for ruby.  (BTEST): Use BTEST_RE to
  select tests from the test suite.  Reorganize pre-loading of Org,
  Babel, Ox and babel languages into a known clean environment.

* mk/targets.mk (CONF_TEST): Add BTEST_RE to the output of
  config-test.

* testing/org-batch-test-init.el: New file.  Remove all traces of any
  Org built into Emacs or otherwise present in the environment so it
  can not be picked up spuriously during testing or conceal errors in
  the Org version under test.

* testing/org-test.el (org-test-run-batch-tests): Showtest selection
  in messages.  (org-test-run-all-tests): Update ID locations.
2013-11-23 19:29:34 +01:00
Achim Gratz 9b6cff94aa Revert "added Makefile targets to check single tests"
This reverts commit 2c5251f0da.
2013-11-23 19:29:34 +01:00
Eric Schulte 2c5251f0da added Makefile targets to check single tests
e.g., to run a single test without re-compiling Org-mode use the
following.

make single-test-dirty TEST=test-ob/org-babel-remove-result--results-code

This should aid in isolating errors with git bisect.
2013-10-01 06:19:26 -06:00
Achim Gratz ac8522a1ad Remove additions from contrib/ before moving HEAD
* mk/targets.mk (up0): Explicitly remove additions from contrib/
  before moving HEAD via git since the files might be renamed, deleted
  or moved by checking out a new version.

Thanks to Suvayu Ali for pointing to this problem.  The user still has
to remember to do this when moving HEAD manually, though.
2013-02-09 08:31:44 +01:00
Achim Gratz ba9606e6e1 Makefile: do not attempt to show Org version from Emacs' perspective
* mk/targets.mk: Remove invocation of $(SHOWVER).  Emacs does some
  stupid ioctl when org-fixup gets invoked and messes up the output.

* mk/default.mk: Remove definition of $(SHOWVER).
2012-09-29 11:49:58 +02:00
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 27527b670e Makefile: add contrib files while generating autoloads
* mk/targets.mk: Move copy of contrib additions to lisp/Makefile.

* lisp/Makefile: Let `autoloads´ in lisp re-generate contrib files by
  depending on new target `addcontrib´ in the right order.
2012-09-20 22:35:35 +02:00
Achim Gratz 400bb88f9c Makefile: add contrib already for autoloads so that uncompiled can have contrib/, too
* mk/targets.mk: Add contrib files already for autoloads so that
  uncompiled can have contrib/lisp/ added, too.  Remove all files from
  contrib/lisp/ that are found in lisp/ for `cleanlisp´ so that
  switching between different contrib configurations becomes easier.
  Remove variable ORG_TO_LISP since it is not needed anymore.
2012-09-15 18:54:29 +02:00
Achim Gratz e20cb6f92b Makefile: show ORG_MAKE_DOC in `config´
* mk/targets.mk: Show ORG_MAKE_DOC in `config´.

* .gitignore: Add doc/org-version.inc.
2012-08-27 19:19:42 +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
Renamed from targets.mk (Browse further)