File: Makefile

package info (click to toggle)
js-of-ocaml 2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 7,612 kB
  • ctags: 10,589
  • sloc: ml: 36,459; makefile: 665; lisp: 41; sh: 14; ruby: 4; perl: 4
file content (28 lines) | stat: -rw-r--r-- 802 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
include Makefile.common

TESTS_SRC=$(wildcard dir/*.ml)
TESTS_CMO=$(TESTS_SRC:.ml=.cmo)
TESTS_BYTE=$(TESTS_SRC:.ml=.byte)
TESTS_JS=$(TESTS_SRC:.ml=.js)
TESTS_LOG=$(TESTS_SRC:.ml=.log)

COMMON=common.cmo

all: $(COMMON) $(TESTS_CMO) $(TESTS_BYTE) $(TESTS_JS) tests.byte

phantom_check::
	@which phantomjs || (echo "You need phantomjs in your PATH to run this" && false)

clear_test::
	@rm -f dir/*.log dir/*.log.err

phantom: phantom_check clear_test all $(TESTS_LOG)

tests.byte: $(TESTS_CMO) $(COMMON)
	@$(OCAMLC) -linkpkg $(STDLIB) ../lib/deriving_json.cma common.cmo -package unix $(TESTS_CMO) -o tests.byte

%.log: %.js
	@(phantomjs $^ > $@ && head -n 1 $@) || (echo "Error for " $^ "\n" && mv $@ $@.err && cat $@.err)

clean:
	rm -f *.cm[io] *.byte *.js dir/*.cm[io] dir/*.byte dir/*.js dir/*.log