summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2020-12-19 22:37:27 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2020-12-19 22:37:27 -0500
commit913bb0425df269e99104c3b2522097577251e5b8 (patch)
tree041a067d0904967687b8bc0ec0ef62e5d1534c8d /README
parent14d46c22a207bbaf2e0890047aacfcf9134bcff2 (diff)
* GNUmakefile: Rewrite the all-in-place code
(PKG_DESCS_MK, RM): New vars. (clean): Use them. Also remove the *-pkg.el files. (clean/%): New target(s). (pkgs): Simplify. ($(PKG_DESCS_MK)): New target. (packages/%-pkg.el): Rely on $(PKG_DESCS_MK) for the dependencies. (packages/%): Clean up the output a bit. * README (Make targets): New node. * elpa-admin.el: (elpaa--make-one-tarball): Handle `:make` before `:doc`. (elpaa--make): Allow the argument of `:make` to be a list of targets. (elpaa-batch-pkg-spec-make-dependencies): New function.
Diffstat (limited to 'README')
-rw-r--r--README51
1 files changed, 51 insertions, 0 deletions
diff --git a/README b/README
index 3bb95b9..6ef577a 100644
--- a/README
+++ b/README
@@ -112,6 +112,57 @@ It can be either an Info file, a Texinfo file, or an Org file.
** =:make TARGET=
Indicates that we should run ~make TARGET~ in order to build some files.
+This is run before processing =:doc=, so it can be used to generate
+the Info and Texinfo file from some other format.
+TARGET can also be a list, in which case each target should be
+an actual file name (rather than a "phony target").
+
+* Make targets
+
+** =all-in-place=
+This is the default target, and it prepares all the directories found in
+the =packages= subdirectory for use by =package.el=. This assume you will
+want to add =.../packages= to your =package-directory-list= so as to treat
+those packages as installed "in place".
+
+** =packages/[PKGNAME]=
+Prepare the subdirectory =packages/[PKGNAME]= for use by =package.el=.
+If the directory does not exist yet, it checks it out as a Git worktree.
+Else, it generates the auxiliary files like =[PKGNAME]-pkg.el= and
+=[PKGNAME]-autoloads.el= and compiles the Elisp source files.
+
+** =build/[PKGNAME]=
+Build the ELPA tarball(s) for PKGNAME. The result is placed in
+the =archive= and =archive-devel= subdirectories.
+
+** =build-all=
+Same as before but does it for all the packages listed in the
+=elpa-packages= file.
+
+** =fetch/[PKGNAME]=
+Fetch changes from the upstream repository of package PKGNAME.
+Does not apply them to anywhere, only keeps them in Git and shows
+a concise summary of the new commits compared to the current
+content of the archive.
+
+** =fetch-all=
+Same as before but fetches changes for all the packages listed in the
+=elpa-packages= file.
+
+** =sync/[PKGNAME]=
+Fetch changes from the upstream repository of package PKGNAME
+and push them to the corresponding branch in the main repository (such as
+=elpa.git=).
+
+** =sync-all=
+Same as before but does it for all the packages listed in the
+=elpa-packages= file.
+
+** =clean=
+Delete all the files generated by a plain =make=.
+
+** =clean/[PKGNAME]=
+Delete all the files generated by =make packages/[PKGNAME]=.
* Text below this marker is OUTDATED and still needs to be reviewed/rewritten!!