]> code.delx.au - gnu-emacs-elpa/blobdiff - GNUmakefile
* packages/swiper/swiper.el: Don't require non-existing ivy-0.1.0
[gnu-emacs-elpa] / GNUmakefile
index ec3dc25f8c00daca40016d54fe2f443281355a3a..e35b82d6699c11c3d48fd4844735655cfebe84db 100644 (file)
@@ -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)\")"
 
@@ -145,21 +158,18 @@ $(extra_elcs):; rm $@
 
 # # Put into single_pkgs the set of -pkg.el files we need to keep up-to-date.
 # # I.e. all the -pkg.el files for the single-file packages.
-# single_pkgs:=$(foreach pkg, $(pkgs), \
-#                $(word $(words $(call FILTER-nonsrc, \
-#                                      $(wildcard $(pkg)/*.el))), \
-#                   $(pkg)/$(notdir $(pkg))-pkg.el))
-# #$(foreach al, $(single_pkgs), $(eval $(call RULE-srcdeps, $(al))))
-# %-pkg.el: %.el
-#      @echo 'Generating description file $@'
-#      @$(EMACS) \
-#          --eval '(require (quote package))' \
-#          --eval '(setq b (find-file-noselect "$<"))' \
-#          --eval '(setq d (with-current-buffer b (package-buffer-info)))' \
-#          --eval '(package-generate-description-file d "$(dir $@)")'
+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) \
+           --eval '(require (quote package))' \
+           --eval '(setq b (find-file-noselect "$<"))' \
+           --eval '(setq d (with-current-buffer b (package-buffer-info)))' \
+           --eval '(package-generate-description-file d "$@")'
 
 .PHONY: all-in-place
-all-in-place: $(extra_elcs) $(autoloads) # $(single_pkgs)
+all-in-place: $(extra_elcs) $(autoloads) $(pkg_descs)
        # Do them in a sub-make, so that autoloads are done first.
        $(MAKE) elcs