-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathMakefile
64 lines (50 loc) · 1.18 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
53
54
55
56
57
58
59
60
61
62
63
64
ANS_001=233168
ANS_002=4613732
ANS_003=6857
ANS_004=906609
ANS_005=232792560
ANS_006=25164150
ANS_007=104743
ANS_008=40824
ANS_009=31875000
ANS_010=142913828922
ANS_011=70600674
ANS_012=76576500
ANS_013=5350353422
ANS_014=837799
ANS_015=137846528820
ANS_016=1366
ANS_017=21124
ANS_021=31626
HASKELL_RUN:=haskell/run
MESSAGE="%s - Project Euler Problem %s\n\n"
NUM=$(filter-out $@, $(MAKECMDGOALS))
answer:
@echo $(ANS_$(NUM))
bash:
@printf $(MESSAGE) "Bash" $(NUM)
@bash -f "bash/euler$(NUM).sh"
clean:
@rm -f haskell/*.hi $(HASKELL_RUN)
clojure:
@cd clojure; lein run -m euler.euler$(NUM)
hs: clean
@printf $(MESSAGE) "Haskell" $(NUM)
@ghc -o "$(HASKELL_RUN)" "haskell/euler$(NUM).hs"
@$(HASKELL_RUN) $(ANS_$(NUM))
@make clean
js:
@printf $(MESSAGE) "JavaScript" $(NUM)
@time -p node "js/euler$(NUM).js" $(ANS_$(NUM))
lua:
@printf $(MESSAGE) "Lua" $(NUM)
@lua "lua/euler$(NUM).lua" $(ANS_$(NUM))
php:
@printf $(MESSAGE) "PHP" $(NUM)
@time -p php -f "php/euler$(NUM).php"
py:
@printf $(MESSAGE) "Python" $(NUM)
@time -p python "python/euler$(NUM).py"
%:
@: # phony rule to quiet warning about no rule for 'number' argument
.PHONY: answer bash clean clojure hs js lua php py %