X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/3f8fbc2bc260391895cec8e0c530fd42acf509a6..6b29e3261693c1d3efc62b3f610b94003de7faac:/GNUmakefile diff --git a/GNUmakefile b/GNUmakefile index 25be0987c..e35b82d66 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -105,6 +105,18 @@ endef # Compute the set of autolods files and their dependencies. autoloads := $(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-autoloads.el) +# FIXME: In 99% of the cases, autoloads can be generated in any order. +# But the `names' package is an exception because it sets up an advice that +# changes the way autload.el operates, and that advice is needed when creating +# the autoloads file of packages that use `names', such as `aggressive-indent'. +# The right solution is to check the Package-Requires and create the autoloads +# files in topological order, but for now we'll just do it the ad-hoc way +# add hand-made dependencies between autoloads files, and explicitly +# load the names-autoloads file when building autoloads files. + +packages/aggressive-indent/aggressive-indent-autoloads.el: \ + packages/names/names-autoloads.el + $(foreach al, $(autoloads), $(eval $(call RULE-srcdeps, $(al)))) %-autoloads.el: @echo 'Generating autoloads for $@' @@ -112,6 +124,7 @@ $(foreach al, $(autoloads), $(eval $(call RULE-srcdeps, $(al)))) $(EMACS) -l $(CURDIR)/admin/archive-contents.el \ --eval "(archive--refresh-pkg-file)" \ --eval "(require 'package)" \ + --eval "(load (expand-file-name \"../names/names-autoloads.el\") t t)" \ --eval "(package-generate-autoloads \"$$(basename $$(pwd))\" \ \"$$(pwd)\")" @@ -149,7 +162,7 @@ pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-pkg.el) #$(foreach al, $(single_pkgs), $(eval $(call RULE-srcdeps, $(al)))) %-pkg.el: %.el @echo 'Generating description file $@' - $(EMACS) \ + @$(EMACS) \ --eval '(require (quote package))' \ --eval '(setq b (find-file-noselect "$<"))' \ --eval '(setq d (with-current-buffer b (package-buffer-info)))' \ @@ -157,7 +170,6 @@ pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir $(pkg))-pkg.el) .PHONY: all-in-place all-in-place: $(extra_elcs) $(autoloads) $(pkg_descs) - echo Descs = $(pkg_descs) # Do them in a sub-make, so that autoloads are done first. $(MAKE) elcs