forked from SOM-st/PySOM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
52 lines (36 loc) · 2.02 KB
/
Makefile
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
#!/usr/bin/env make -f
JOBS=$(subst -j,--make-jobs ,$(filter -j%, $(MAKEFLAGS)))
PYPY_DIR ?= pypy
RPYTHON ?= $(PYPY_DIR)/rpython/bin/rpython $(JOBS)
RPYTHON_ARGS ?= # --lldebug
SOM_TIER=1
.PHONY: compile som-interp som-jit som-ast-jit som-bc-jit som-bc-interp som-ast-interp
all: compile
compile: som-bc-interp som-bc-jit-tier1 som-bc-jit-tier2 som-bc-jit-hybrid
som-ast-jit: core-lib/.git
SOM_INTERP=AST PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARGS) --batch -Ojit src/main_rpython.py
som-bc-jit: core-lib/.git
SOM_TIER=$(SOM_TIER) SOM_INTERP=BC PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARGS) --batch -Ojit src/main_rpython.py
som-bc-jit-tier1: core-lib/.git
SOM_TIER=1 SOM_INTERP=BC PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARGS) --batch -Ojit src/main_rpython.py
som-bc-jit-tier2: core-lib/.git
SOM_TIER=2 SOM_INTERP=BC PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARGS) --batch -Ojit src/main_rpython.py
som-bc-jit-hybrid: core-lib/.git
SOM_TIER=3 SOM_INTERP=BC PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARGS) --batch -Ojit src/main_rpython.py
som-ast-interp: core-lib/.git
SOM_INTERP=AST PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARG) --batch src/main_rpython.py
som-bc-interp: core-lib/.git
SOM_TIER=1 SOM_INTERP=BC PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) $(RPYTHON) $(RPYTHON_ARG) --batch src/main_rpython.py
som-interp: som-ast-interp som-bc-interp
som-jit: som-ast-jit som-bc-jit
test: compile
PYTHONPATH=$(PYTHONPATH):$(PYPY_DIR) nosetests
if [ -e ./som-ast-jit ]; then ./som-ast-jit -cp Smalltalk TestSuite/TestHarness.som; fi
if [ -e ./som-bc-jit ]; then ./som-bc-jit -cp Smalltalk TestSuite/TestHarness.som; fi
if [ -e ./som-ast-interp ]; then ./som-ast-interp -cp Smalltalk TestSuite/TestHarness.som; fi
if [ -e ./som-bc-interp ]; then ./som-bc-interp -cp Smalltalk TestSuite/TestHarness.som; fi
clean:
@-rm som-ast-jit som-ast-interp
@-rm som-bc-jit som-bc-interp
core-lib/.git:
git submodule update --init