-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathMakefile
39 lines (26 loc) · 1.09 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
CC = gcc
CFLAGS = -std=gnu11 -O3 -g
INTERPRETERS = basic-switch immediate-arg stack-machine register-machine
all: $(INTERPRETERS) regexp-interpreter pigletvm piglet-matcher
test: test-interpreters test-regexp-interpreter pigletvm-test piglet-matcher-test
test-interpreters: $(INTERPRETERS)
$(foreach interpr,$(INTERPRETERS),./$(interpr);)
test-regexp-interpreter: regexp-interpreter
./regexp-interpreter
%: interpreter-%.c
$(CC) $(CFLAGS) $< -o $@
regexp-interpreter: interpreter-regexp.c
$(CC) $(CFLAGS) $< -o $@
pigletvm: pigletvm.c pigletvm-rcache.c pigletvm-exec.c
$(CC) $(CFLAGS) $^ -o $@
pigletvm-test: pigletvm.c pigletvm-rcache.c pigletvm-test.c
$(CC) -g $(CFLAGS) $^ -o $@
./pigletvm-test
piglet-matcher: piglet-matcher.c piglet-matcher-exec.c
$(CC) $(CFLAGS) $^ -o $@
piglet-matcher-test: piglet-matcher.c piglet-matcher-test.c
$(CC) -g $(CFLAGS) $^ -o $@
./piglet-matcher-test
clean:
rm -vf $(INTERPRETERS) regexp-interpreter pigletvm pigletvm-test piglet-matcher piglet-matcher-test
.PHONY: all clean pigletvm-test piglet-matcher-test test-interpreters test-regexp-interpreter