-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
172 lines (129 loc) · 5.7 KB
/
makefile
File metadata and controls
172 lines (129 loc) · 5.7 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
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# makefile for compiling programs to do kink calculations
#------------------------------------------------------------------------------------------------------------------------
# config file
include config.mk
#------------------------------------------------------------------------------------------------------------------------
# local variables
HEADERS = $(wildcard $(HDIR)/*.h)
FNSRC = $(wildcard $(FNSDIR)/*.cc)
FNOBJS = $(patsubst $(FNSDIR)/%.cc,$(FNODIR)/%.o,$(FNSRC))
COMMONSRC = $(wildcard $(CSDIR)/*.cc) # this needs fixing to exclude the fnobjs
COMMONOBJS = $(patsubst $(CSDIR)/%.cc,$(CODIR)/%.o,$(COMMONSRC)) # this needs fixing to exclude the fnobjs
SRC = $(wildcard $(SDIR)/*.cc)
EXE = $(patsubst $(SDIR)/%.cc,%,$(SRC))
MPISRC = $(wildcard $(MPISDIR)/*.cc)
MPIEXE = $(patsubst $(MPISDIR)/%.cc,%,$(MPISRC))
.PHONY : variables
variables :
@echo HEADERS: $(HEADERS)
@echo COMMONSRC: $(COMMONSRC)
@echo COMMONOBJS: $(COMMONOBJS)
@echo FNSRC: $(FNSRC)
@echo FNOBJS: $(FNOBJS)
@echo SRC: $(SRC)
@echo EXE: $(EXE)
@echo MPISRC: $(MPISRC)
@echo MPIEXE: $(MPIEXE)
#------------------------------------------------------------------------------------------------------------------------
# some useful PHONYs
.PHONY: all
all: $(EXE) $(MPIEXE) common fns
.PHONY: common
common: $(COMMONOBJS)
.PHONY: fns
fns: $(FNOBJS)
#------------------------------------------------------------------------------------------------------------------------
# targets, dependencies and rules for executables
analysis: $(ODIR)/analysis.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named analysis has been compiled
cleanData: $(ODIR)/cleanData.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named cleanData has been compiled
changeInputs: $(ODIR)/changeInputs.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named changeInputs has been compiled
common: $(COMMONOBJS)
@echo made common objects $(COMMONOBJS)
fns: $(FNOBJS)
@echo made common objects $(FNOBJS)
main: $(ODIR)/main.o $(FNODIR)/main_fn.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named main has been compiled
main3: $(ODIR)/main3.o $(FNODIR)/main_fn3.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named main3 has been compiled
main3mpi: $(MPIODIR)/main3mpi.o $(FNODIR)/main_fn3.o $(COMMONOBJS)
$(MPICC) -o $@ $^ $(MPICFLAGS) $(INCLUDES) $(MPILIBS)
@echo Simple compiler named main3mpi has been compiled
main3old: $(ODIR)/main3old.o $(FNODIR)/main_fn3old.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named main3old has been compiled
plot: $(ODIR)/plot.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named plot has been compiled
pi: $(ODIR)/pi.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named pi has been compiled
piEvolve: $(ODIR)/piEvolve.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named piEvolve has been compiled
sphaleron: $(ODIR)/sphaleron.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named sphaleron has been compiled
sphaleronPi: $(ODIR)/sphaleronPi.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named sphaleronPi has been compiled
staticNewton: $(ODIR)/staticNewton.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named staticNewton has been compiled
staticShooting: $(ODIR)/staticShooting.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named staticShooting has been compiled
toPlot: $(ODIR)/toPlot.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
@echo Simple compiler named toPlot has been compiled
wrapper: $(MPIODIR)/wrapper.o $(FNODIR)/main_fn.o $(COMMONOBJS)
$(MPICC) -o $@ $^ $(MPICFLAGS) $(INCLUDES) $(MPILIBS)
@echo Simple compiler named wrapper has been compiled
wrapper2: $(MPIODIR)/wrapper2.o $(FNODIR)/main_fn.o $(COMMONOBJS)
$(MPICC) -o $@ $^ $(MPICFLAGS) $(INCLUDES) $(MPILIBS)
@echo Simple compiler named wrapper2 has been compiled
#------------------------------------------------------------------------------------------------------------------------
$(MPIODIR)/%.o: $(MPISDIR)/%.cc
$(MPICC) -c -o $@ $< $(MPICFLAGS) $(INCLUDES) $(MPILIBS)
$(TSDIR)/%: $(ODIR)/%.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
$(SDIR)/%: $(ODIR)/%.o $(COMMONOBJS)
$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES) $(LIBS)
$(CSDIR)/%: $(CSDIR)/%.cc
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
$(CODIR)/%.o: $(CSDIR)/%.cc
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
$(FNSDIR)/%: $(FNSDIR)/%.cc $(COMMONOBJS)
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
$(FNODIR)/%.o: $(FNSDIR)/%.cc $(COMMONOBJS)
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
$(ODIR)/%.o: $(SDIR)/%.cc
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
$(ODIR)/%.o: $(TSDIR)/%.cc
$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDES) $(LIBS)
#------------------------------------------------------------------------------------------------------------------------
# clean
.PHONY: clean
clean:
rm -f $(ODIR)/*.o
rm -f $(CODIR)/*.o
rm -f $(FNODIR)/*.o
rm -f $(MPIODIR)/*.o
rm -f $(TSDIR)/*.o
rm -f *~ core
rm -f $(HDIR)/*~
rm -f data/temp/*
rm -f temp/*
#------------------------------------------------------------------------------------------------------------------------
# makedepend, NOT WORKING
.PHONY: depend
depend: $(COMMONSRC) $(SRC) $(FNSRC)
makedepend -- $(CFLAGS) -- $^ -f- > Makefile.deps
# DO NOT DELETE THIS LINE -- make depend needs it