[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] master 634a506: * GNUmakefile (RULE-singlepkg): Add rules to install&compile each package,
Stefan Monnier <=