UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

99 lines (77 loc) 3.04 kB
MAKEFLAGS += --no-builtin-rules .SUFFIXES: .PHONY: all build docs unit test spec clean bench VERSION := $(shell grep '"version":' package.json | sed 's/[^0-9\.]//g') NODE_MODS := node_modules NODE_BIN := $(shell npm bin) JS_HEAD_NAMES := _head internal Rafa JS_CORE_NAMES := Stream Property RingBuffer Channel Enumerator EmptyEnumerator ArrayEnumerator \ UntilEnumerator Message ErrorMessage ErrorDoneMessage DoneMessage Context JS_TAIL_NAMES = _tail JS_HEAD := $(JS_HEAD_NAMES:%=./src/%.js) JS_CORE := $(JS_CORE_NAMES:%=./src/core/%.js) JS_TAIL = $(JS_TAIL_NAMES:%=./src/%.js) JS = $(JS_HEAD) $(JS_CORE) $(JS_TAIL) TEST_REPORTER ?= spec TEST_UNIT_CORE ?= $(wildcard test/unit/core/*) TEST_SPEC_CORE ?= $(wildcard test/spec/core/*) DIST := dist DIST_DOC := $(DIST)/index.html DIST_JS_ES6 = $(DIST)/rafa-es6.js DIST_JS_ES5 = $(DIST)/rafa.js DIST_JS_ES5_MIN = $(DIST)/rafa.min.js all: clean build docs test build: $(DIST_JS_ES5_MIN) test: unit spec bench unit: $(DIST_JS_ES5) @$(NODE_BIN)/mocha --harmony -u tdd -R $(TEST_REPORTER) $(TEST_UNIT_CORE) spec: $(DIST_JS_ES5) @$(NODE_BIN)/mocha --harmony -u tdd -R $(TEST_REPORTER) $(TEST_SPEC_CORE) bench: $(DIST_JS_ES5) @echo "Benchmarks:" @node ./test/bench/spec/stream-push.js @node ./test/bench/spec/Promise.js docs: $(DIST_DOC) | $(NODE_MODS) clean: @rm -rf $(DIST) $(DIST_JS_ES6): | $(DIST) $(NODE_MODS) @cat $(JS) >$@ @$(NODE_BIN)/eslint $@ @echo "Created Rafa file at $@" $(DIST_JS_ES5): $(DIST_JS_ES6) @$(NODE_BIN)/babel $< >$@ $(DIST_JS_ES5_MIN): $(DIST_JS_ES5) @$(NODE_BIN)/uglifyjs --mangle --compress --comments -- $< >$@ @cp $@ ./index.js $(DIST_DOC): | build @$(NODE_BIN)/splitdoc --docs=./docs --title=Rafa.js \ --section=Guide Introduction \ --section=API \ Channel Channel-close Channel-configure Channel-next \ Enumerator \ Property Property-get Property-set \ Stream Stream-collect Stream-done Stream-drop Stream-each Stream-enumerate \ Stream-error Stream-filter Stream-filterDuplicates Stream-flatMap Stream-fold \ Stream-group Stream-listener Stream-map Stream-merge Stream-once Stream-reduce \ Stream-release Stream-scan Stream-split Stream-take Stream-toProperty \ --source=Rafa:./src/Rafa.js \ --source=Stream:./src/core/Stream.js \ --source=Property:./src/core/Property.js \ --source=RingBuffer:./src/core/RingBuffer.js \ --source=Channel:./src/core/Channel.js \ --source=Enumerator:./src/core/Enumerator.js \ --source=EmptyEnumerator:./src/core/EmptyEnumerator.js \ --source=ArrayEnumerator:./src/core/ArrayEnumerator.js \ --source=UntilEnumerator:./src/core/UntilEnumerator.js \ --source=Message:./src/core/Message.js \ --source=ErrorMessage:./src/core/ErrorMessage.js \ --source=ErrorDoneMessage:./src/core/ErrorDoneMessage.js \ --source=DoneMessage:./src/core/DoneMessage.js \ --source=Context:./src/core/Context.js \ >$@ @echo "Created Documentation at $@" $(DIST): @mkdir -p $@ $(NODE_MODS): @npm install @echo "Installed Dependencies"