Browse Source

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.
Achim Gratz 7 years ago
parent
commit
357fd63a14
2 changed files with 19 additions and 12 deletions
  1. 8 6
      Makefile
  2. 11 6
      targets.mk

+ 8 - 6
Makefile

@@ -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

+ 11 - 6
targets.mk

@@ -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 > $@