-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
151 lines (148 loc) · 3.04 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
CC=gcc
CFLAGS=-O3 -Wall -Wextra -std=gnu99 -lm
TEST_PASSED = PASSED ✅
TEST_FAILED = FAILED ❌
all: q1
test_all: q1test q2test q3test q4test q5test q6test q7test q8test q10test q11test
q1: src-c/q1.c
$(CC) $(CFLAGS) $< -o $@.o
q1run: q1
./q1.o
rm q1.o
q1test: q1
./q1.o > q1.out
diff q1.out test-c/q1.exp && echo "Q1 ${TEST_PASSED}" || (echo "Q1 ${TEST_FAILED}" && exit 1)
rm q1.out
rm q1.o
q1gen_test: q1
./q1.o > test-c/q1.exp
q2: src-c/q2.c
$(CC) $(CFLAGS) $< -o $@.o
q2run: q2
./q2.o
rm q2.o
q2test: q2
./q2.o > q2.out
diff q2.out test-c/q2.exp && echo "Q2 ${TEST_PASSED}" || (echo "Q2 ${TEST_FAILED}" && exit 1)
rm q2.out
rm q2.o
q2gen_test: q2
./q2.o > test-c/q2.exp
rm q2.o
q3: src-c/q3.c
$(CC) $(CFLAGS) $< -o $@.o
q3run: q3
./q3.o
rm q3.o
q3test: q3
./q3.o > q3.out
diff q3.out test-c/q3.exp && echo "Q3 ${TEST_PASSED}" || (echo "Q3 ${TEST_FAILED}" && exit 1)
rm q3.out
rm q3.o
q3gen_test: q3
./q3.o > test-c/q3.exp
rm q3.o
q4: src-c/q4.c
$(CC) $(CFLAGS) $< -o $@.o
q4run: q4
./q4.o
rm q4.o
q4test: q4
./q4.o > q4.out
diff q4.out test-c/q4.exp && echo "Q4 ${TEST_PASSED}" || (echo "Q4 ${TEST_FAILED}" && exit 1)
rm q4.out
rm q4.o
q4gen_test: q4
./q4.o > test-c/q4.exp
rm q4.o
q5: src-c/q5.c
$(CC) $(CFLAGS) $< -o $@.o
q5run: q5
./q5.o
rm q5.o
q5test: q5
./q5.o > q5.out
diff q5.out test-c/q5.exp && echo "Q5 ${TEST_PASSED}" || (echo "Q5 ${TEST_FAILED}" && exit 1)
rm q5.out
rm q5.o
q5gen_test: q5
./q5.o > test-c/q5.exp
rm q5.o
q6: src-c/q6.c
$(CC) $(CFLAGS) $< -o $@.o
q6run: q6
./q6.o
rm q6.o
q6test: q6
./q6.o > q6.out
diff q6.out test-c/q6.exp && echo "Q6 ${TEST_PASSED}" || (echo "Q6 ${TEST_FAILED}" && exit 1)
rm q6.out
rm q6.o
q6gen_test: q6
./q6.o > test-c/q6.exp
rm q6.o
q7: src-c/q7.c
$(CC) $(CFLAGS) $< -o $@.o
q7run: q7
./q7.o
rm q7.o
q7test: q7
./q7.o > q7.out
diff q7.out test-c/q7.exp && echo "Q7 ${TEST_PASSED}" || (echo "Q7 ${TEST_FAILED}" && exit 1)
rm q7.out
rm q7.o
q7gen_test: q7
./q7.o > test-c/q7.exp
rm q7.o
q8: src-c/q8.c
$(CC) $(CFLAGS) $< -o $@.o
q8run: q8
./q8.o
rm q8.o
q8test: q8
./q8.o > q8.out
diff q8.out test-c/q8.exp && echo "Q8 ${TEST_PASSED}" || (echo "Q8 ${TEST_FAILED}" && exit 1)
rm q8.out
rm q8.o
q8gen_test: q8
./q8.o > test-c/q8.exp
rm q8.o
q10: src-c/q10.c
$(CC) $(CFLAGS) $< -o $@.o
q10run: q10
./q10.o
rm q10.o
q10test: q10
./q10.o > q10.out
diff q10.out test-c/q10.exp && echo "Q10 ${TEST_PASSED}" || (echo "Q10 ${TEST_FAILED}" && exit 1)
rm q10.out
rm q10.o
q10gen_test: q10
./q10.o > test-c/q10.exp
rm q10.o
q11: src-c/q11.c
$(CC) $(CFLAGS) $< -o $@.o
q11run: q11
./q11.o
rm q11.o
q11test: q11
./q11.o > q11.out
diff q11.out test-c/q11.exp && echo "Q11 ${TEST_PASSED}" || (echo "Q11 ${TEST_FAILED}" && exit 1)
rm q11.out
rm q11.o
q11gen_test: q11
./q11.o > test-c/q11.exp
rm q11.o
q12: src-c/q12.c
$(CC) $(CFLAGS) $< -o $@.o
q12run: q12
./q12.o
rm q12.o
q12test: q12
./q12.o > q12.out
diff q12.out test-c/q12.exp && echo "Q12 ${TEST_PASSED}" || (echo "Q12 ${TEST_FAILED}" && exit 1)
rm q12.out
rm q12.o
q12gen_test: q12
./q12.o > test-c/q12.exp
rm q12.o