-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathMakefile
More file actions
84 lines (69 loc) · 2.08 KB
/
Makefile
File metadata and controls
84 lines (69 loc) · 2.08 KB
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
CXX = g++
WARNINGS = -Wall -pedantic -Wformat -Wcast-align
CFLAGS = -O2 $(WARNINGS)
LODEPNGSRC = lodepng/lodepng.cpp
LODEPNGOBJ = lodepng/lodepng.o
DIR_1 = 1-matrixless/
DIR_2 = 2-better-advection/
DIR_3 = 3-conjugate-gradients/
DIR_4 = 4-solid-boundaries/
DIR_5 = 5-curved-boundaries/
DIR_6 = 6-heat/
DIR_7 = 7-variable-density/
DIR_8 = 8-flip/
SRCF_1 = $(DIR_1)Fluid.cpp
SRCF_2 = $(DIR_2)Fluid.cpp
SRCF_3 = $(DIR_3)Fluid.cpp
SRCF_4 = $(DIR_4)Fluid.cpp
SRCF_5 = $(DIR_5)Fluid.cpp
SRCF_6 = $(DIR_6)Fluid.cpp
SRCF_7 = $(DIR_7)Fluid.cpp
SRCF_8 = $(DIR_8)Fluid.cpp
OBJF_1 = $(subst .cpp,.o,$(SRCF_1))
OBJF_2 = $(subst .cpp,.o,$(SRCF_2))
OBJF_3 = $(subst .cpp,.o,$(SRCF_3))
OBJF_4 = $(subst .cpp,.o,$(SRCF_4))
OBJF_5 = $(subst .cpp,.o,$(SRCF_5))
OBJF_6 = $(subst .cpp,.o,$(SRCF_6))
OBJF_7 = $(subst .cpp,.o,$(SRCF_7))
OBJF_8 = $(subst .cpp,.o,$(SRCF_8))
all: matrixless better-advection conjugate-gradients solid-boundaries curved-boundaries heat variable-density flip
matrixless: $(OBJF_1) $(LODEPNGOBJ)
$(CXX) -o $(DIR_1)$@ $^ $(LDFLAGS)
better-advection: $(OBJF_2) $(LODEPNGOBJ)
$(CXX) -o $(DIR_2)$@ $^ $(LDFLAGS)
conjugate-gradients: $(OBJF_3) $(LODEPNGOBJ)
$(CXX) -o $(DIR_3)$@ $^ $(LDFLAGS)
solid-boundaries: $(OBJF_4) $(LODEPNGOBJ)
$(CXX) -o $(DIR_4)$@ $^ $(LDFLAGS)
curved-boundaries: $(OBJF_5) $(LODEPNGOBJ)
$(CXX) -o $(DIR_5)$@ $^ $(LDFLAGS)
heat: $(OBJF_6) $(LODEPNGOBJ)
$(CXX) -o $(DIR_6)$@ $^ $(LDFLAGS)
variable-density: $(OBJF_7) $(LODEPNGOBJ)
$(CXX) -o $(DIR_7)$@ $^ $(LDFLAGS)
flip: $(OBJF_8) $(LODEPNGOBJ)
$(CXX) -o $(DIR_8)$@ $^ $(LDFLAGS)
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $^
lodepng:
$(CXX) $(CFLAGS) -c -o $(LODEPNGOBJ) $(LODEPNGSRC)
clean:
rm -f $(DIR_1)matrixless
rm -f $(OBJF_1)
rm -f $(DIR_2)better-advection
rm -f $(OBJF_2)
rm -f $(DIR_3)conjugate-gradients
rm -f $(OBJF_3)
rm -f $(DIR_4)solid-boundaries
rm -f $(OBJF_4)
rm -f $(DIR_5)curved-boundaries
rm -f $(OBJF_5)
rm -f $(DIR_6)heat
rm -f $(OBJF_6)
rm -f $(DIR_7)variable-density
rm -f $(OBJF_7)
rm -f $(DIR_8)flip
rm -f $(OBJF_8)
rm -f lodepng/lodepng.o
.PHONY: clean all