mirror of
				https://github.com/zsh-users/zsh-syntax-highlighting.git
				synced 2025-10-23 15:46:27 +08:00 
			
		
		
		
	 9b64ad750f
			
		
	
	
		9b64ad750f
		
	
	
	
	
		
			
			Fixes zsh-users/zsh-syntax-highlighting#262. Currently, 'make quiet-test' uses Perl. However, since it is considered a development tool rather than a user-facing tool, users and downstream packages needn't install Perl. Furthermore, even this dev-only dependency may be dropped in the future. The only difference between tests/tap-filter here and the one in the issue is using a `cat` subshell v. using 'undef $/; <STDIN>'.
		
			
				
	
	
		
			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) -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
 |