[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 580a1b6: Respect .elpaignore when compiling and optimize c
From: |
Jackson Ray Hamilton |
Subject: |
[elpa] master 580a1b6: Respect .elpaignore when compiling and optimize compilation. |
Date: |
Fri, 23 Dec 2016 19:50:27 +0000 (UTC) |
branch: master
commit 580a1b6b5d440f8fa1a29d6d1ee52d1513fa588b
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>
Respect .elpaignore when compiling and optimize compilation.
---
GNUmakefile | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/GNUmakefile b/GNUmakefile
index 7d6d100..6d57fae 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -144,9 +144,22 @@ $(foreach al, $(autoloads), $(eval $(call RULE-srcdeps,
$(al))))
\"$$(pwd)\")"
# Put into elcs the set of elc files we need to keep up-to-date.
-# I.e. one for each .el file except for the -pkg.el, the -autoloads.el, and
-# the .el files that are marked "no-byte-compile".
-els := $(call FILTER-nonsrc, $(wildcard packages/*/*.el))
+# I.e. one for each .el file in each package root, except for the -pkg.el,
+# the -autoloads.el, the .el files that are marked "no-byte-compile", and
+# files matching patterns in packages' .elpaignore files.
+included_els := $(shell \
+ for pt in packages/*; do \
+ if [ -d $$pt ]; then \
+ if [ -f "$${pt}/.elpaignore" ]; then \
+ tar -ch $$pt/*.el --no-recursion \
+ --exclude-vcs -X "$${pt}/.elpaignore" \
+ | tar --list; \
+ else \
+ ls -1 $$pt/*.el; \
+ fi; \
+ fi; \
+ done)
+els := $(call FILTER-nonsrc, $(included_els))
naive_elcs := $(patsubst %.el, %.elc, $(els))
current_elcs := $(wildcard packages/*/*.elc)
@@ -184,9 +197,8 @@ pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir
$(pkg))-pkg.el)
--eval '(package-generate-description-file d "$@")'
.PHONY: all-in-place
-all-in-place: $(extra_elcs) $(autoloads) $(pkg_descs)
- # Do them in a sub-make, so that autoloads are done first.
- $(MAKE) elcs
+# Use order-only prerequisites, so that autoloads are done first.
+all-in-place: | $(extra_elcs) $(autoloads) $(pkg_descs) elcs
############### Rules to prepare the externals ################################
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 580a1b6: Respect .elpaignore when compiling and optimize compilation.,
Jackson Ray Hamilton <=