2014-02-07 23:21:24 +02:00
|
|
|
#
|
2015-10-01 01:08:26 +03:00
|
|
|
# Copyright (c) 2015, Joyent, Inc.
|
2014-02-07 23:21:24 +02:00
|
|
|
#
|
2015-08-25 21:49:46 +03:00
|
|
|
# Makefile for node-triton
|
2014-02-07 23:21:24 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Vars, Tools, Files, Flags
|
|
|
|
#
|
2015-08-25 21:49:46 +03:00
|
|
|
JS_FILES := bin/triton \
|
2015-09-25 22:24:37 +03:00
|
|
|
$(shell find lib test -name '*.js' | grep -v '/tmp/')
|
2014-02-07 23:21:24 +02: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 17:31:45 +03:00
|
|
|
test: test-unit test-integration
|
|
|
|
|
|
|
|
.PHONY: test-unit
|
|
|
|
test-unit:
|
2015-09-03 06:30:07 +03:00
|
|
|
NODE_NDEBUG= ./node_modules/.bin/tape test/unit/*.test.js
|
2015-09-01 10:31:00 +03:00
|
|
|
|
|
|
|
.PHONY: test-integration
|
|
|
|
test-integration:
|
2015-09-03 06:30:07 +03:00
|
|
|
NODE_NDEBUG= ./node_modules/.bin/tape test/integration/*.test.js
|
2014-02-07 23:21:24 +02:00
|
|
|
|
2016-02-13 01:04:32 +02: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-10-01 01:08:26 +03:00
|
|
|
.PHONY: clean
|
|
|
|
clean::
|
|
|
|
rm -f triton-*.tgz
|
|
|
|
|
2016-01-10 21:49:06 +02:00
|
|
|
check:: versioncheck
|
|
|
|
|
2015-10-01 01:08:26 +03: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-18 03:43:45 +03:00
|
|
|
[[ `cat package.json | json version` == `grep '^## ' CHANGES.md | head -2 | tail -1 | awk '{print $$2}'` ]]
|
2015-10-01 01:08:26 +03:00
|
|
|
|
|
|
|
.PHONY: cutarelease
|
2015-10-01 01:14:05 +03:00
|
|
|
cutarelease: versioncheck
|
2016-09-18 03:43:45 +03:00
|
|
|
[[ -z `git status --short` ]] # If this fails, the working dir is dirty.
|
|
|
|
@ver=$(shell cat package.json | json version) && \
|
|
|
|
publishedVer=$(shell npm view -j triton@$(shell json -f package.json version) version 2>/dev/null) && \
|
|
|
|
if [[ -n "$$publishedVer" ]]; then \
|
|
|
|
echo "error: triton@$$ver is already published to npm"; \
|
|
|
|
exit 1; \
|
|
|
|
fi; \
|
|
|
|
echo "** Are you sure you want to tag and publish triton@$$ver to npm?"; \
|
|
|
|
echo "** Enter to continue, Ctrl+C to abort."; \
|
|
|
|
read
|
|
|
|
ver=$(shell cat package.json | json version) && \
|
|
|
|
name=$(shell cat package.json | json name) && \
|
|
|
|
date=$(shell date -u "+%Y-%m-%d") && \
|
|
|
|
git tag -a "$$ver" -m "version $$ver ($$date)" && \
|
|
|
|
git push --tags origin && \
|
|
|
|
npm publish $$name
|
2015-10-01 01:08:26 +03:00
|
|
|
|
2015-09-01 20:55:39 +03:00
|
|
|
.PHONY: git-hooks
|
|
|
|
git-hooks:
|
2015-09-03 06:23:31 +03:00
|
|
|
ln -sf ../../tools/pre-commit.sh .git/hooks/pre-commit
|
2015-09-01 20:55:39 +03:00
|
|
|
|
2014-02-07 23:21:24 +02: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 21:45:56 +03:00
|
|
|
JSL_FLAGS += --nofilelist
|