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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
(executable
(name main)
(modules main)
(libraries js_of_ocaml)
(link_flags
(:standard -linkall))
(js_of_ocaml
(flags
(:standard)
(:include effects_flags.sexp))
(build_runtime_flags
(:standard)
(:include effects_flags.sexp))
(link_flags (:standard)))
(modes js byte))
(executable
(name effects_flags)
(modules effects_flags))
(rule
(target effects_flags.sexp)
(action
(with-stdout-to
%{target}
(run ./effects_flags.exe sexp %{profile}))))
(rule
(target effects_flags.txt)
(action
(with-stdout-to
%{target}
(run ./effects_flags.exe txt %{profile}))))
(rule
(target main.js)
(action
(run
%{bin:js_of_ocaml}
--linkall
%{read-strings:effects_flags.txt}
-o
%{target}
%{dep:main.bc})))
(rule
(target plugin.cmo)
(action
(run %{bin:ocamlc} -c %{dep:./plugin.ml})))
(rule
(target plugin.js)
(action
(run
%{bin:js_of_ocaml}
%{read-strings:effects_flags.txt}
%{dep:./plugin.cmo})))
(rule
(target plugin2.cma)
(action
(run
%{bin:ocamlc}
-a
%{dep:./plugin2a.ml}
%{dep:./plugin2b.ml}
-o
plugin2.cma)))
(rule
(target plugin2.js)
(action
(run
%{bin:js_of_ocaml}
%{read-strings:effects_flags.txt}
%{dep:./plugin2.cma})))
(rule
(target main.out)
(deps plugin.js plugin2.js)
(action
(with-outputs-to
%{target}
(run %{bin:node} %{dep:./main.js}))))
(rule
(target main.out2)
(deps plugin.js plugin2.js)
(action
(with-outputs-to
%{target}
(run %{bin:node} %{dep:./main.bc.js}))))
(rule
(alias runtest)
(action
(diff main.out.expected main.out)))
(rule
(alias runtest)
(action
(diff main.out.expected main.out2)))
|