63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
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)
 | 
						|
	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:
 | 
						|
	@result=0; \
 | 
						|
	for test in highlighters/*; do \
 | 
						|
		if [ -d $$test/test-data ]; then \
 | 
						|
			echo "Running test $${test##*/}"; \
 | 
						|
			$(ZSH) -fu 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
 |