|  | NAME=zsh-syntax-highlighting | 
						
						
							|  | 
 | 
						
						
							|  | INSTALL?=install -c | 
						
						
							|  | PREFIX?=/usr/local | 
						
						
							|  | SHARE_DIR?=$(DESTDIR)$(PREFIX)/share/$(NAME) | 
						
						
							|  | DOC_DIR?=$(DESTDIR)$(PREFIX)/share/doc/$(NAME) | 
						
						
							|  | ZSH?=zsh # zsh binary to run tests with | 
						
						
							|  | 
 | 
						
						
							|  | all: | 
						
						
							|  | 	cd docs && \ | 
						
						
							|  | 	cp highlighters.md all.md && \ | 
						
						
							|  | 	printf '\n\nIndividual highlighters documentation\n=====================================' >> all.md && \ | 
						
						
							|  | 	for doc in highlighters/*.md; do printf '\n\n'; cat "$$doc"; done >> all.md | 
						
						
							|  | 
 | 
						
						
							|  | install: all | 
						
						
							|  | 	$(INSTALL) -d $(SHARE_DIR) | 
						
						
							|  | 	$(INSTALL) -d $(DOC_DIR) | 
						
						
							|  | 	cp .version zsh-syntax-highlighting.zsh $(SHARE_DIR) | 
						
						
							|  | 	cp COPYING.md README.md changelog.md $(DOC_DIR) | 
						
						
							|  | 	sed -e '1s/ .*//' -e '/^\[build-status-[a-z]*\]: /d' < README.md > $(DOC_DIR)/README.md | 
						
						
							|  | 	if [ x"true" = x"`git rev-parse --is-inside-work-tree 2>/dev/null`" ]; then \ | 
						
						
							|  | 		git rev-parse HEAD; \ | 
						
						
							|  | 	else \ | 
						
						
							|  | 		cat .revision-hash; \ | 
						
						
							|  | 	fi > $(SHARE_DIR)/.revision-hash | 
						
						
							|  | 	: | 
						
						
							|  | # The [ -e ] check below is to because sh evaluates this with (the moral | 
						
						
							|  | # equivalent of) NONOMATCH in effect, and highlighters/*.zsh has no matches. | 
						
						
							|  | 	for dirname in highlighters highlighters/*/ ; do \ | 
						
						
							|  | 		$(INSTALL) -d $(SHARE_DIR)/"$$dirname"; \ | 
						
						
							|  | 		for fname in "$$dirname"/*.zsh ; do [ -e "$$fname" ] && cp "$$fname" $(SHARE_DIR)"/$$dirname"; done; \ | 
						
						
							|  | 	done | 
						
						
							|  | 	cp -R docs/* $(DOC_DIR) | 
						
						
							|  | 
 | 
						
						
							|  | clean: | 
						
						
							|  | 	rm -f docs/all.md | 
						
						
							|  | 
 | 
						
						
							|  | test: | 
						
						
							|  | 	@$(ZSH) -fc 'echo ZSH_PATCHLEVEL=$$ZSH_PATCHLEVEL' | 
						
						
							|  | 	@result=0; \ | 
						
						
							|  | 	for test in highlighters/*; do \ | 
						
						
							|  | 		if [ -d $$test/test-data ]; then \ | 
						
						
							|  | 			echo "Running test $${test##*/}"; \ | 
						
						
							|  | 			env -i QUIET=$$QUIET $${TERM:+"TERM=$$TERM"} $(ZSH) -f tests/test-highlighting.zsh "$${test##*/}"; \ | 
						
						
							|  | 			: $$(( result |= $$? )); \ | 
						
						
							|  | 		fi \ | 
						
						
							|  | 	done; \ | 
						
						
							|  | 	exit $$result | 
						
						
							|  | 
 | 
						
						
							|  | quiet-test: | 
						
						
							|  | 	$(MAKE) test QUIET=y | 
						
						
							|  | 
 | 
						
						
							|  | perf: | 
						
						
							|  | 	@result=0; \ | 
						
						
							|  | 	for test in highlighters/*; do \ | 
						
						
							|  | 		if [ -d $$test/test-data ]; then \ | 
						
						
							|  | 			echo "Running test $${test##*/}"; \ | 
						
						
							|  | 			$(ZSH) -f tests/test-perfs.zsh "$${test##*/}"; \ | 
						
						
							|  | 			: $$(( result |= $$? )); \ | 
						
						
							|  | 		fi \ | 
						
						
							|  | 	done; \ | 
						
						
							|  | 	exit $$result | 
						
						
							|  | 
 | 
						
						
							|  | .PHONY: all install clean test perf
 |