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.
This commit is contained in:
Achim Gratz 2012-04-25 19:04:29 +02:00 committed by Bastien Guerry
parent fb7ebd2dae
commit 357fd63a14
2 changed files with 19 additions and 12 deletions

View File

@ -10,8 +10,10 @@
all::
# Describe valid make targets for org-mode.
.PHONY: targets help
targets help helpall::
.PHONY: targets help helpall
targets: help
helpall:: help
help::
$(info )
$(info Getting Help)
$(info ============)
@ -61,18 +63,18 @@ helpall::
$(info )
$(info Documentation)
$(info =============)
targets help helpall::
help::
$(info make doc - build all documentation)
helpall::
$(info make docs - dito)
targets help helpall::
help::
$(info make info - build Info documentation)
helpall::
$(info make html - build HTML documentation)
$(info make pdf - build PDF documentation)
$(info make card - build reference cards)
$(info make refcard - dito)
targets help helpall::
help::
$(info )
$(info Installation)
$(info ============)
@ -81,7 +83,7 @@ helpall::
$(info make install-etc - build and install files in /etc)
$(info make install-lisp - build and install Org Elisp files)
$(info make install-info - build and install Info documentation)
targets help helpall::
help::
@echo ""
include targets.mk # toplevel make machinery

View File

@ -25,19 +25,24 @@ endif
check test install info html pdf card doc docs $(INSTSUB) \
autoloads cleanall clean cleancontrib cleanrel clean-install \
cleanelc cleandirs cleanlisp cleandoc cleandocs cleantest \
compile compile-dirty
compile compile-dirty uncompiled
oldorg: compile autoloads info # what the old makefile did when no target was specified
oldorg: compile autoloads info # what the old makefile did when no target was specified
uncompiled: cleanlisp autoloads # for developing
refcard: card
update update2:: up0 all
.PRECIOUS: local.mk
local.mk:
$(info ==========================================)
$(info Created a local.mk template.)
$(info Please adapt local.mk to your local setup!)
$(info ==========================================)
$(info ======================================================)
$(info = Invoke "make help" for a synopsis of make targets. =)
$(info = Created a default local.mk template. =)
$(info = Setting "oldorg" as the default target. =)
$(info = Please adapt local.mk to your local setup! =)
$(info ======================================================)
-@$(SED) -n \
-e '1 i ## Remove the following line to make "all" the default target' \
-e '1 i oldorg:' \
-e '/-8<-/,/->8-/ {s/^\(\s*[^#]\)/#\1/;p}' \
-e '$$ i ## See default.mk for further configuration options.' \
default.mk > $@