1 ifeq ($(OS
),Windows_NT
)
10 NODEMODDIR
= dist/node_modules
11 MOD
= $(NODEMODDIR
)/moe
12 MOEC
= $(MOD
)/compiler
17 $(MKDIR
) $(MOD
)/prelude
21 moeRTMods
= $(MOD
)/runtime.js
$(MOD
)/dummy.js
22 $(moeRTMods
): $(MOD
)/%.js
: src
/%.js
24 moePreludeMods
= $(MOD
)/prelude
/overture.js
25 $(moePreludeMods
): $(MOD
)/prelude
/%.js
: src
/prelude
/%.js
28 moert
: dirs
$(moeRTMods
) $(moePreludeMods
)
30 moecMods
= $(MOEC
)/compiler.rt.js
$(MOEC
)/compiler.js
$(MOEC
)/codegen.js
$(MOEC
)/lexer.js
$(MOEC
)/parser.js \
31 $(MOEC
)/resolve.js
$(MOEC
)/gvm.js
32 moecNodeMods
= $(MOD
)/bin
/opts.js
$(MOD
)/bin
/moec.js
$(MOD
)/bin
/moei.js
$(MOD
)/bin
/moec
$(MOD
)/bin
/moei
34 $(moecMods
): $(MOEC
)/%: src
/compiler
/%
36 $(moecNodeMods
): $(MOD
)/bin
/%: src
/bin
/%
38 $(MOEC
)/package.json
: src
/compiler
/package.json
41 moecPackageMeta
: $(MOD
)/package.json
42 $(MOD
)/package.json
: src
/package.json
45 moecLib
: $(moecMods
) $(MOEC
)/package.json
46 moecNodeLib
: $(moecNodeMods
)
47 moecMain
: moecLib moecNodeLib
48 moec
: moert moecMain moecPackageMeta
50 preludeMoecEXE
= node
$(MOD
)/bin
/moec
--no-prelude
-g moert
--runtime-bind moert.runtime
52 moeFullPreludeMods
= $(MOD
)/prelude
/prelude.js
53 $(moeFullPreludeMods
): $(MOD
)/%.js
: src
/%.moe
54 $(preludeMoecEXE
) -o
$@
$<
56 moePrelude
: $(moeFullPreludeMods
)
57 node tools
/preludesquash
$(MOD
)/prelude.js
$(moePreludeMods
) $(moeFullPreludeMods
)
60 ### Web test environment
61 ### Always updates all scripts
63 WEBMOD
= $(WEBTEST
)/moe
68 $(MKDIR
) $(WEBMOD
)/prelude
69 $(MKDIR
) $(WEBMOD
)/compiler
71 nessatEXE
= node tools
/nessat
73 webMods
= $(subst $(MOD
)/,$(WEBMOD
)/,$(moeRTMods
) $(moecMods
) $(MOD
)/prelude.js
)
74 $(webMods
): $(WEBMOD
)/%.js
: $(MOD
)/%.js
75 $(nessatEXE
) $< $@
$(NODEMODDIR
)/
78 webtestENV
= $(WEBTEST
)/index.html
$(WEBTEST
)/smapdemo.html
$(WEBTEST
)/inputbox.js
$(WEBTEST
)/webtest.css
$(WEBTEST
)/demosmap.js
$(WEBTEST
)/webtest.js
$(WEBTEST
)/mod.rt.js
81 $(WEBTEST
)/index.html
: webtest_env
/index.html
82 $(WEBTEST
)/smapdemo.html
: webtest_env
/smapdemo.html
83 $(WEBTEST
)/inputbox.js
: webtest_env
/inputbox.js
84 $(WEBTEST
)/webtest.js
: webtest_env
/webtest.js
85 $(WEBTEST
)/demosmap.js
: webtest_env
/demosmap.js
86 $(WEBTEST
)/webtest.css
: webtest_env
/webtest.css
87 $(WEBTEST
)/mod.rt.js
: src
/webrt
/mod.rt.js
88 webtestENV
: $(webtestENV
)
90 webtest
: moec moePrelude webtestDir webMods webtestENV
101 rm -rf
$(MOD
)/prelude
104 git push
origin master
:master
105 git push cafe master
:master
106 git push mirror master
:master