time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

Makefile (1297B)


      1 NODE_PATH ?= ./node_modules
      2 DIST_DIR = ./dist
      3 JS_COMPILER = node_modules/.bin/uglifyjs
      4 JS_TESTER = node_modules/.bin/vows
      5 
      6 DOC_DIR = doc
      7 BUILD_DIR = build
      8 DOC_LIST = `ls $(DOC_DIR)/md/`
      9 JS_ENGINE ?= $(shell which node nodejs 2>/dev/null | head -1)
     10 
     11 all: clean core doc
     12 
     13 clean:
     14 	@echo 'Cleaning up build files'
     15 	@rm -rf dist
     16 
     17 core: jstat.js jstat.min.js
     18 
     19 jstat.js: \
     20 	src/_header.js \
     21 	src/core.js \
     22 	src/vector.js \
     23 	src/special.js \
     24 	src/distribution.js \
     25 	src/linearalgebra.js \
     26 	src/test.js \
     27 	src/models.js \
     28 	src/regression.js \
     29 	src/_footer.js
     30 	@echo 'Building jStat'
     31 	@mkdir -p $(DIST_DIR)
     32 	@cat $^ > $(DIST_DIR)/$@
     33 
     34 jstat.min.js: jstat.js
     35 	@echo 'Minifying jStat'
     36 	@$(JS_COMPILER) < $(DIST_DIR)/$< > $(DIST_DIR)/$@
     37 
     38 doc:
     39 	@echo 'Generating documentation'
     40 	@mkdir -p $(DIST_DIR)/docs/assets
     41 	@cp $(DOC_DIR)/assets/*.css $(DIST_DIR)/docs/assets/
     42 	@cp $(DOC_DIR)/assets/*.js $(DIST_DIR)/docs/assets/
     43 	@for i in $(DOC_LIST); do \
     44 		$(JS_ENGINE) $(BUILD_DIR)/doctool.js $(DOC_DIR)/assets/template.html $(DOC_DIR)/md/$${i} $(DIST_DIR)/docs/$${i%.*}.html; \
     45 	done
     46 
     47 jstat: jstat.js
     48 
     49 install:
     50 	@echo 'Downloading necessary libraries for build'
     51 	@mkdir -p node_modules
     52 	@npm install
     53 
     54 test: clean core
     55 	@echo 'Running jStat unit tests'
     56 	@$(JS_TESTER) test/*/*.js
     57 
     58 .PHONY: clean core doc install test