| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | #
 | 
					
						
							| 
									
										
										
										
											2015-09-30 15:08:26 -07:00
										 |  |  | # Copyright (c) 2015, Joyent, Inc.
 | 
					
						
							| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | #
 | 
					
						
							| 
									
										
										
										
											2015-08-25 11:49:46 -07:00
										 |  |  | # Makefile for node-triton
 | 
					
						
							| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | #
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Vars, Tools, Files, Flags
 | 
					
						
							|  |  |  | #
 | 
					
						
							| 
									
										
										
										
											2015-08-25 11:49:46 -07:00
										 |  |  | JS_FILES	:= bin/triton \
 | 
					
						
							| 
									
										
										
										
											2015-09-25 12:24:37 -07:00
										 |  |  | 	$(shell find lib test -name '*.js' | grep -v '/tmp/') | 
					
						
							| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | JSL_CONF_NODE	 = tools/jsl.node.conf | 
					
						
							|  |  |  | JSL_FILES_NODE	 = $(JS_FILES) | 
					
						
							|  |  |  | JSSTYLE_FILES	 = $(JS_FILES) | 
					
						
							|  |  |  | JSSTYLE_FLAGS	 = -f tools/jsstyle.conf | 
					
						
							|  |  |  | CLEAN_FILES += ./node_modules | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | include ./tools/mk/Makefile.defs | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Targets
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | .PHONY: all | 
					
						
							|  |  |  | all: | 
					
						
							|  |  |  | 	npm install | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: test | 
					
						
							| 
									
										
										
										
											2015-10-05 07:31:45 -07:00
										 |  |  | test: test-unit test-integration | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: test-unit | 
					
						
							|  |  |  | test-unit: | 
					
						
							| 
									
										
										
										
											2015-09-02 23:30:07 -04:00
										 |  |  | 	NODE_NDEBUG= ./node_modules/.bin/tape test/unit/*.test.js | 
					
						
							| 
									
										
										
										
											2015-09-01 00:31:00 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | .PHONY: test-integration | 
					
						
							|  |  |  | test-integration: | 
					
						
							| 
									
										
										
										
											2015-09-02 23:30:07 -04:00
										 |  |  | 	NODE_NDEBUG= ./node_modules/.bin/tape test/integration/*.test.js | 
					
						
							| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-12 15:04:32 -08:00
										 |  |  | .PHONY: test-in-parallel | 
					
						
							|  |  |  | test-in-parallel: | 
					
						
							|  |  |  | 	NODE_NDEBUG= prove -j15 -e ./node_modules/.bin/tape \
 | 
					
						
							|  |  |  | 		test/unit/*.test.js test/integration/*.test.js | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-30 15:08:26 -07:00
										 |  |  | .PHONY: clean | 
					
						
							|  |  |  | clean:: | 
					
						
							|  |  |  | 	rm -f triton-*.tgz | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-10 11:49:06 -08:00
										 |  |  | check:: versioncheck | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-30 15:08:26 -07:00
										 |  |  | # Ensure CHANGES.md and package.json have the same version.
 | 
					
						
							|  |  |  | .PHONY: versioncheck | 
					
						
							|  |  |  | versioncheck: | 
					
						
							|  |  |  | 	@echo version is: $(shell cat package.json | json version) | 
					
						
							| 
									
										
										
										
											2016-09-17 17:43:45 -07:00
										 |  |  | 	[[ `cat package.json | json version` == `grep '^## ' CHANGES.md | head -2 | tail -1 | awk '{print $$2}'` ]] | 
					
						
							| 
									
										
										
										
											2015-09-30 15:08:26 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | .PHONY: cutarelease | 
					
						
							| 
									
										
										
										
											2015-09-30 15:14:05 -07:00
										 |  |  | cutarelease: versioncheck | 
					
						
							| 
									
										
										
										
											2016-09-17 17:43:45 -07:00
										 |  |  | 	[[ -z `git status --short` ]]  # If this fails, the working dir is dirty. | 
					
						
							| 
									
										
										
										
											2016-09-30 14:41:50 -07:00
										 |  |  | 	@which json 2>/dev/null 1>/dev/null && \
 | 
					
						
							|  |  |  | 	    ver=$(shell json -f package.json version) && \
 | 
					
						
							|  |  |  | 	    name=$(shell json -f package.json name) && \
 | 
					
						
							|  |  |  | 	    publishedVer=$(shell npm view -j $(shell json -f package.json name)@$(shell json -f package.json version) version 2>/dev/null) && \
 | 
					
						
							| 
									
										
										
										
											2016-09-17 17:43:45 -07:00
										 |  |  | 	    if [[ -n "$$publishedVer" ]]; then \
 | 
					
						
							| 
									
										
										
										
											2016-09-30 14:41:50 -07:00
										 |  |  | 		echo "error: $$name@$$ver is already published to npm"; \
 | 
					
						
							| 
									
										
										
										
											2016-09-17 17:43:45 -07:00
										 |  |  | 		exit 1; \
 | 
					
						
							| 
									
										
										
										
											2016-09-30 14:41:50 -07:00
										 |  |  | 	    fi && \
 | 
					
						
							|  |  |  | 	    echo "** Are you sure you want to tag and publish $$name@$$ver to npm?" && \
 | 
					
						
							|  |  |  | 	    echo "** Enter to continue, Ctrl+C to abort." && \
 | 
					
						
							| 
									
										
										
										
											2016-09-17 17:43:45 -07:00
										 |  |  | 	    read | 
					
						
							|  |  |  | 	ver=$(shell cat package.json | json version) && \
 | 
					
						
							|  |  |  | 	    date=$(shell date -u "+%Y-%m-%d") && \
 | 
					
						
							|  |  |  | 	    git tag -a "$$ver" -m "version $$ver ($$date)" && \
 | 
					
						
							|  |  |  | 	    git push --tags origin && \
 | 
					
						
							| 
									
										
										
										
											2016-09-17 17:49:35 -07:00
										 |  |  | 	    npm publish | 
					
						
							| 
									
										
										
										
											2015-09-30 15:08:26 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-01 10:55:39 -07:00
										 |  |  | .PHONY: git-hooks | 
					
						
							|  |  |  | git-hooks: | 
					
						
							| 
									
										
										
										
											2015-09-02 23:23:31 -04:00
										 |  |  | 	ln -sf ../../tools/pre-commit.sh .git/hooks/pre-commit | 
					
						
							| 
									
										
										
										
											2015-09-01 10:55:39 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-07 13:21:24 -08:00
										 |  |  | .PHONY: dumpvar | 
					
						
							|  |  |  | dumpvar: | 
					
						
							|  |  |  | 	@if [[ -z "$(VAR)" ]]; then \
 | 
					
						
							|  |  |  | 		echo "error: set 'VAR' to dump a var"; \
 | 
					
						
							|  |  |  | 		exit 1; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 	@echo "$(VAR) is '$($(VAR))'" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | include ./tools/mk/Makefile.deps | 
					
						
							|  |  |  | include ./tools/mk/Makefile.targ | 
					
						
							| 
									
										
										
										
											2015-09-01 14:45:56 -04:00
										 |  |  | JSL_FLAGS += --nofilelist |