Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | ## Copyright (C) 2013 Matthew Fluet. |
2 | # Copyright (C) 2009 Matthew Fluet. | |
3 | # Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh | |
4 | # Jagannathan, and Stephen Weeks. | |
5 | # Copyright (C) 1997-2000 NEC Research Institute. | |
6 | # | |
7 | # MLton is released under a BSD-style license. | |
8 | # See the file MLton-LICENSE for details. | |
9 | ## | |
10 | ||
11 | SRC := $(shell cd .. && pwd) | |
12 | BUILD := $(SRC)/build | |
13 | BIN := $(BUILD)/bin | |
14 | LIB := $(BUILD)/lib/mlton | |
15 | MLTON := mlton | |
16 | TARGET := self | |
17 | FLAGS := -target $(TARGET) \ | |
18 | -default-ann 'sequenceNonUnit warn' \ | |
19 | -default-ann 'warnUnused true' | |
20 | NAME := benchmark | |
21 | PATH := $(BIN):$(shell echo $$PATH) | |
22 | ||
23 | all: $(NAME) | |
24 | ||
25 | $(NAME): $(NAME).mlb $(shell PATH="$(BIN):$$PATH" && "$(MLTON)" -stop f $(NAME).mlb) | |
26 | @echo 'Compiling $(NAME)' | |
27 | "$(MLTON)" $(FLAGS) $(NAME).mlb | |
28 | ||
29 | .PHONY: clean | |
30 | clean: | |
31 | ../bin/clean | |
32 | ||
33 | BENCH := barnes-hut boyer checksum count-graphs DLXSimulator even-odd fft fib flat-array hamlet imp-for knuth-bendix lexgen life logic mandelbrot matrix-multiply md5 merge mlyacc model-elimination mpuz nucleic output1 peek psdes-random ratio-regions ray raytrace simple smith-normal-form string-concat tailfib tak tensor tsp tyan vector32-concat vector64-concat vector-rev vliw wc-input1 wc-scanStream zebra zern | |
34 | FPBENCH := barnes-hut fft hamlet mandelbrot matrix-multiply nucleic ray raytrace simple tensor tsp tyan vliw zern | |
35 | ||
36 | BFLAGS := -mlton "/usr/bin/mlton" -mlton "mlton -optimize-ssa {false,true}" | |
37 | BFLAGS := -wiki -mlton "/usr/bin/mlton" -mlkit -mosml -poly -smlnj | |
38 | BFLAGS := -mlton "$(BIN)/mlton" | |
39 | ||
40 | .PHONY: test | |
41 | test: $(NAME) | |
42 | cd tests && ../benchmark $(BFLAGS) $(BENCH) | |
43 | ||
44 | QBENCH := $(BENCH) | |
45 | QBFLAGS := -mlton "~/devel/mlton/builds/20171013.233239-g5513092e3/bin/mlton" | |
46 | QBFLAGS += -mlton "~/devel/mlton/mlton.git/build/bin/mlton -cse-canon {ascHash,descHash,ascIndex,descIndex}" | |
47 | ||
48 | .PHONY: qtest | |
49 | qtest: $(NAME) | |
50 | cd tests && ../benchmark $(QBFLAGS) $(QBENCH) && $(MAKE) clean |