summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBjörn Kettunen <me@thaodan.de>2025-12-28 19:01:50 +0200
committerGitHub <noreply@github.com>2025-12-28 22:31:50 +0530
commit343db60c9889ef1ee43efe6b71ac7215e736224a (patch)
treeb671f0030a34410cd2000f0197d49300215cc007 /Makefile
parent1266dd817965c6060b2f7cb70d6ef094d3f057d5 (diff)
build: add make target for loaddefs
Imported from magit and adjusted: https://github.com/magit/magit/blob/main/lisp/Makefile#L48 Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile22
1 files changed, 20 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index e2bdc29..b5af1b1 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,8 @@ emacs_version = $(shell $(emacs) --batch --eval \
$(info Using Emacs $(emacs_version))
version=$(shell sed -ne 's/^;\+ *Version: *\([0-9.]\)/\1/p' lisp/pdf-tools.el)
-pkgname=pdf-tools-$(version)
+PKG=pdf-tools
+pkgname=$(PKG)-$(version)
pkgfile=$(pkgname).tar
.PHONY: all clean distclean bytecompile test check melpa
@@ -20,9 +21,11 @@ pkgfile=$(pkgname).tar
all: $(pkgfile)
# Create a elpa package including the server
-$(pkgfile): .cask/$(emacs_version) server/epdfinfo lisp/*.el
+$(pkgfile): .cask/$(emacs_version) server/epdfinfo lisp/*.el loaddefs
$(CASK) package .
+loaddefs: $(PKG)-autoloads.el
+
# Compile the Lisp sources
bytecompile: .cask/$(emacs_version)
$(CASK) exec $(emacs) --batch -L lisp -f batch-byte-compile lisp/*.el
@@ -105,3 +108,18 @@ server-test-supported: server/test/Makefile
server-test-unsupported: server/test/Makefile
$(MAKE) -C server/test print-failing
+
+$(PKG)-autoloads.el: lisp/*.el
+ @printf " Creating $@\n"
+ @cd lisp;$(EMACS) -Q --batch -l autoload -l cl-lib --eval "\
+(let ((file (expand-file-name \"$@\"))\
+ (autoload-timestamps nil) \
+ (backup-inhibited t)\
+ (version-control 'never)\
+ (coding-system-for-write 'utf-8-emacs-unix))\
+ (write-region (autoload-rubric file \"package\" nil) nil file nil 'silent)\
+ (cl-letf (((symbol-function 'progress-reporter-do-update) (lambda (&rest _)))\
+ ((symbol-function 'progress-reporter-done) (lambda (_))))\
+ (let ((generated-autoload-file file))\
+ (update-directory-autoloads default-directory))))" \
+ 2>&1 | sed "/^Package autoload is deprecated$$/d"