From 194bf171898a882231e4e757f6354ef6d787f1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Mon, 30 Jan 2023 00:04:44 +0200 Subject: [PATCH] Add make target to generate loaddefs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Imported from magit and adjusted: https://github.com/magit/magit/blob/main/lisp/Makefile#L48 Signed-off-by: Björn Bidar --- Makefile | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e2bdc29c..b5af1b13 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"