diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2025-04-01 18:10:15 +0000 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2025-04-01 18:10:15 +0000 |
commit | dabaff03992c102c395314629f63ce93a2c1bd3a (patch) | |
tree | 990472507186637085165b7cbbf7abf15c10889a /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/Makefile | 121 |
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}" + |