summaryrefslogtreecommitdiff
path: root/elpa/evil-1.15.0/Makefile
diff options
context:
space:
mode:
authorthing1 <thing1@seacrossedlovers.xyz>2025-04-01 18:10:15 +0000
committerthing1 <thing1@seacrossedlovers.xyz>2025-04-01 18:10:15 +0000
commitdabaff03992c102c395314629f63ce93a2c1bd3a (patch)
tree990472507186637085165b7cbbf7abf15c10889a /elpa/evil-1.15.0/Makefile
init commit
Diffstat (limited to 'elpa/evil-1.15.0/Makefile')
-rw-r--r--elpa/evil-1.15.0/Makefile121
1 files changed, 121 insertions, 0 deletions
diff --git a/elpa/evil-1.15.0/Makefile b/elpa/evil-1.15.0/Makefile
new file mode 100644
index 0000000..29e2eeb
--- /dev/null
+++ b/elpa/evil-1.15.0/Makefile
@@ -0,0 +1,121 @@
+SHELL = /bin/sh
+EMACS ?= emacs
+FILES = $(filter-out evil-test-helpers.el evil-tests.el evil-pkg.el,$(wildcard evil*.el))
+VERSION := $(shell sed -ne '/define-package/,$$p' evil-pkg.el | sed -ne '/^\s*"[[:digit:]]\+\(\.[[:digit:]]\+\)*"\s*$$/ s/^.*"\(.*\)".*$$/\1/p')
+ELPAPKG = evil-$(VERSION)
+PROFILER =
+DOC = doc
+TAG =
+LIBS = -L lib
+
+ELCFILES = $(FILES:.el=.elc)
+
+.PHONY: all compile compile-batch docstrings doc clean tests test emacs term terminal profiler indent elpa version
+
+# Byte-compile Evil.
+all: compile
+compile: $(ELCFILES)
+
+.depend: $(FILES)
+ @echo Compute dependencies
+ @rm -f .depend
+ @for f in $(FILES); do \
+ sed -n "s/ *(require '\(evil-[^)]*\).*)/$${f}c: \1.elc/p" $$f >> .depend;\
+ done
+
+-include .depend
+
+$(ELCFILES): %.elc: %.el
+ $(EMACS) --batch -Q -L . $(LIBS) -f batch-byte-compile $<
+
+# Byte-compile all files in one batch. This is faster than
+# compiling each file in isolation, but also less stringent.
+compile-batch: clean
+ $(EMACS) --batch -Q -L . $(LIBS) -f batch-byte-compile ${FILES}
+
+# Documentation.
+docstrings:
+ @$(EMACS) --script scripts/evil-extract-docstrings
+
+doc: docstrings
+ @$(MAKE) -C doc texinfo
+
+info: doc
+ @$(MAKE) -C doc info
+
+# Delete byte-compiled files etc.
+clean:
+ rm -f *~
+ rm -f \#*\#
+ rm -f *.elc
+ rm -f .depend
+ @$(MAKE) -C doc clean
+
+# Run tests.
+# The TAG variable may specify a test tag or a test name:
+# make test TAG=repeat
+# This will only run tests pertaining to the repeat system.
+test:
+ $(EMACS) -nw -Q --batch -L . $(LIBS) -l evil-tests.el \
+ --eval "(evil-tests-initialize '(${TAG}) '(${PROFILER}))"
+
+# Byte-compile Evil and run all tests.
+tests: compile
+ $(EMACS) -nw -Q -L . $(LIBS) -l evil-tests.el \
+ --eval "(evil-tests-initialize '(${TAG}) '(${PROFILER}))"
+ rm -f *.elc .depend
+
+# Load Evil in a fresh instance of Emacs and run all tests.
+emacs:
+ $(EMACS) -Q -L . $(LIBS) -l goto-chg.el -l evil-tests.el \
+ --eval "(evil-mode 1)" \
+ --eval "(evil-tests-initialize '(${TAG}) '(${PROFILER}) t)"
+
+# Load Evil in a terminal Emacs and run all tests.
+term: terminal
+terminal:
+ $(EMACS) -nw -Q -L . $(LIBS) -l goto-chg.el -l evil-tests.el \
+ --eval "(evil-mode 1)" \
+ --eval "(evil-tests-initialize '(${TAG}) '(${PROFILER}) t)"
+
+# Run all tests with profiler.
+profiler:
+ $(EMACS) --batch -Q -L . $(LIBS) -l goto-chg.el -l evil-tests.el \
+ --eval "(evil-tests-initialize '(${TAG}) (or '(${PROFILER}) t))"
+
+# Re-indent all Evil code.
+# Loads Evil into memory in order to indent macros properly.
+# Also removes trailing whitespace, tabs and extraneous blank lines.
+indent: clean
+ $(EMACS) --batch --eval '(setq vc-handled-backends nil)' ${FILES} evil-tests.el -Q -L . $(LIBS) -l evil-tests.el \
+ --eval "(dolist (buffer (reverse (buffer-list))) \
+ (when (buffer-file-name buffer) \
+ (set-buffer buffer) \
+ (message \"Indenting %s\" (current-buffer)) \
+ (setq-default indent-tabs-mode nil) \
+ (untabify (point-min) (point-max)) \
+ (indent-region (point-min) (point-max)) \
+ (delete-trailing-whitespace) \
+ (untabify (point-min) (point-max)) \
+ (goto-char (point-min)) \
+ (while (re-search-forward \"\\n\\\\{3,\\\\}\" nil t) \
+ (replace-match \"\\n\\n\")) \
+ (when (buffer-modified-p) (save-buffer 0))))"
+
+# Create an ELPA package.
+elpa:
+ @echo "Creating ELPA package $(ELPAPKG).tar"
+ @rm -rf ${ELPAPKG}
+ @mkdir ${ELPAPKG}
+ @cp $(FILES) COPYING evil-pkg.el ${ELPAPKG}
+ @tar cf ${ELPAPKG}.tar ${ELPAPKG}
+ @rm -rf ${ELPAPKG}
+
+# Change the version using make VERSION=x.y.z
+version:
+ @$(EMACS) --script scripts/evilupdate "${VERSION}"
+
+# Change the version using make VERSION=x.y.z, but do not post to the newsgroup
+nversion:
+ @$(EMACS) --script scripts/evilupdate nonews "${VERSION}"
+