emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] master 634a506: * GNUmakefile (RULE-singlepkg): Add rules to in


From: Stefan Monnier
Subject: [nongnu] master 634a506: * GNUmakefile (RULE-singlepkg): Add rules to install&compile each package
Date: Wed, 25 Nov 2020 22:51:42 -0500 (EST)

branch: master
commit 634a506fe9c6522529caf4ef43f2a1bdf2890c4e
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * GNUmakefile (RULE-singlepkg): Add rules to install&compile each package
---
 GNUmakefile | 11 +++++++++++
 README.org  | 15 +++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/GNUmakefile b/GNUmakefile
index 867d590..0adf454 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -202,6 +202,17 @@ pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir 
$(pkg))-pkg.el)
 # Use order-only prerequisites, so that autoloads are done first.
 all-in-place: | $(extra_elcs) $(autoloads) $(pkg_descs) elcs
 
+##### Compiling the files of just a single package
+
+# FIXME: This should be tuned to as to "git worktree add" the branch
+# if the $(1) directory doesn't exist yet!
+define RULE-singlepkg
+$(filter $(1)/%, $(elcs)): $1/$(notdir $(1))-pkg.el \
+                           $1/$(notdir $(1))-autoloads.el
+$(1): $(filter $(1)/%, $(elcs))
+endef
+$(foreach pkg, $(pkgs), $(eval $(call RULE-singlepkg, $(pkg))))
+
 
 ############### Rules to prepare the externals ################################
 
diff --git a/README.org b/README.org
index 38481f9..9c3aa0c 100644
--- a/README.org
+++ b/README.org
@@ -23,6 +23,21 @@ to do:
 
     rm archive/[PKG]-[VERSION].tar; make build/[PKG]
 
+* Using packages in-place
+
+The packages can be installed and used in-place.  First you need to make
+sure the package(s) you can about are placed in the `packages` subdirectory,
+e.g. with `make externals`, and then you can to add that `.../packages`
+to your `package-directory-list`.  And once that is done you can do:
+
+    make packages/[PKG]
+
+to create the [PKG]-pkg.el and [PKG]-autoloads.el file as well as compile
+all the ELisp files in that package.  You can also do that on all the
+packages with:
+
+    make
+
 * Guidance for accepting packages
 
 ** We don't ask for copyright assignments to include packages in NonGNU ELPA.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]