summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorSunil Shetye2018-06-22 15:17:51 +0530
committerSunil Shetye2018-06-22 16:38:30 +0530
commit870479a2e4b932426a904b2ebae7e4ee72037326 (patch)
tree7e089fd43599783dbddeef0bc7460dd085389b29 /Makefile
parentec185db61d5b6fa65322296e48a983de36436cd0 (diff)
downloadsci2js-870479a2e4b932426a904b2ebae7e4ee72037326.tar.gz
sci2js-870479a2e4b932426a904b2ebae7e4ee72037326.tar.bz2
sci2js-870479a2e4b932426a904b2ebae7e4ee72037326.zip
save global variables in first pass
read those variables in second pass
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 10 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 47a9f5d9..1a2d5cde 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ all: combined.js
combined.js: $(JSFILES) Makefile
@echo -n "Making $@ ... "; \
count=0 totalcount=0; \
- for f in $(JSFILES); do \
+ for f in $(sort $(JSFILES)); do \
totalcount=$$(( totalcount+1 )); \
grep -q 'Syntax error' $$f && continue; \
cat $$f; \
@@ -19,13 +19,18 @@ combined.js: $(JSFILES) Makefile
echo "/* made from $$count/$$totalcount files */" >> $@; \
echo "made $@ from $$count/$$totalcount files"
-js/%.js: macros/%.sci sci2jsyacc.py parsetab.py sci2jslex.py
+js/%.lex: macros/%.sci sci2jslex.py
./sci2jslex.py $< > js/$*.lex
- ./sci2jsyacc.py $< > $@ 2> js/$*.yacc
+
+js/%.pickle: macros/%.sci sci2jsyacc.py parsetab.py sci2jslex.py
+ ./sci2jsyacc.py $< $@ 1 > js/$*.js.old 2> js/$*.yacc.old
+
+js/%.js: macros/%.sci js/%.pickle sci2jsyacc.py parsetab.py sci2jslex.py
+ ./sci2jsyacc.py $< js/$*.pickle 2 > $@ 2> js/$*.yacc
parsetab.py: sci2jsyacc.py sci2jslex.py
@rm -f $@* parser.out
- ./sci2jsyacc.py /dev/null > /dev/null
+ ./sci2jsyacc.py /dev/null /dev/null 3 > /dev/null
$(JSFILES): | $(JSDIRS)
@@ -33,6 +38,6 @@ $(JSDIRS):
mkdir -p $@
yacc: macros/Sinks/CSCOPE.sci
- ./sci2jslex.py $< 2>&1 && ./sci2jsyacc.py $< 2>&1
+ ./sci2jslex.py $< 2>&1 && ./sci2jsyacc.py $< /dev/null 3 2>&1
.SECONDARY: