Contains three targets - info, package and clean:
- info creates the info manual for the package.
- package creates an installable (via 'M-x package-install-file')
package archive.
- clean cleans any "build artefacts".
The default (all) target is equivalent to the clean target followed by
the package target.
Add 'config.mk' for build configuration.
Add 'elpher-pkg.el' (could possibly be generated in the future),
required to install as a package.
--- /dev/null
+PKG = elpher
+VERSION = 2.11.0
+
+INSTALLINFO = install-info
+MAKEINFO = makeinfo
+TAR = tar
--- /dev/null
+(define-package "elpher" "2.11.0" "A friendly gopher and gemini client"
+ '((emacs "26.2"))
+ :keywords ("convenience")
+ :authors (("Tim Vaughan" . "plugd@thelambdalab.xyz"))
+ :maintainer ("Alex Schroeder" . "alex@alexschroeder.ch")
+ :url "https://alexschroeder.ch/cgit/elpher")
+;; Local Variables:
+;; no-byte-compile: t
+;; end:
--- /dev/null
+include config.mk
+
+.PHONY: all help info package clean
+
+.SUFFIXES: .texi .info
+
+all: clean package
+
+help:
+ $(info make info - generate the info manual)
+ $(info make package - generate a tar file containing the package)
+ $(info make clean - remove generated files)
+ @exit
+
+.texi.info:
+ $(MAKEINFO) --no-split $< -o $@
+
+dir: $(PKG).info
+ $(INSTALLINFO) $? $@
+
+info: $(PKG).info dir
+
+$(PKG)-$(VERSION).tar: $(PKG).info dir *.el COPYING
+ mkdir $(PKG)-$(VERSION)
+ cp -a $? $(PKG)-$(VERSION)/
+ $(TAR) -cf $@ $(PKG)-$(VERSION)
+ rm -rf $(PKG)-$(VERSION)
+
+package: $(PKG)-$(VERSION).tar
+
+clean:
+ rm -f $(PKG).info dir $(PKG)-$(VERSION).tar