Introduction
Introduction Statistics Contact Development Disclaimer Help
tMakefile - numeric - C++ library with numerical algorithms
git clone git://src.adamsgaard.dk/numeric
Log
Files
Refs
LICENSE
---
tMakefile (3031B)
---
1 # Define compiler
2 #CXX=g++
3
4 # Define compiler flags (show all warnings)
5 CXXFLAGS=-Wall
6 #CXXFLAGS=-std=c++0x
7
8 # Define linker flags
9 #LDFLAGS=-fopenmp
10
11 # Compile optimized code
12 CXXFLAGS+=-O2
13
14 # Compile debuggable code
15 #CXXFLAGS+=-g
16
17 # Compile profilable code
18 #CXXFLAGS+=-pg
19 #LDFLAGS+=-pg
20
21 # Define linker
22 LD=g++
23
24 # All source code files
25 SRC=$(shell ls *.cpp)
26
27
28 # Filenames of source code
29 SHARED_SRC=ode.cpp check.cpp
30 SHARED_HEADERS=typedefs.h ode.h functions.h check.h
31 SRC_A=mainA.cpp $(SHARED_SRC)
32 HEAD_A=$(SHARED_HEADERS)
33 SRC_B=mainB.cpp $(SHARED_SRC)
34 HEAD_B=$(SHARED_HEADERS)
35 SRC_C=mainC.cpp $(SHARED_SRC)
36 HEAD_C=$(SHARED_HEADERS)
37 SRC_D=mainD.cpp $(SHARED_SRC)
38 HEAD_D=$(SHARED_HEADERS)
39
40 # Filenames of object files
41 OBJ_A=$(SRC_A:.cpp=.o)
42 OBJ_B=$(SRC_B:.cpp=.o)
43 OBJ_C=$(SRC_C:.cpp=.o)
44 OBJ_D=$(SRC_D:.cpp=.o)
45
46 # Remove file type extension for binary filename
47 BIN_A=odeA
48 BIN_B=odeB
49 BIN_C=odeC
50 BIN_D=odeD
51
52 # Define editor and options for `make edit`
53 EDITOR=vim -p
54
55
56 # The default "all" depends on A and B
57 all: A B C D
58
59 A: plotA.png
60
61 B: plotB.png
62
63 C: plotC.png
64
65 D: plotD.png
66
67 plotA.png: funcA.dat plotA.gp
68 # Gnuplot: plotA.png
69 @gnuplot plotA.gp
70
71 plotB.png: funcB.dat plotB.gp
72 # Gnuplot: plotB.png
73 @gnuplot plotB.gp
74
75 plotC.png: funcC.dat plotC.gp
76 # Gnuplot: plotC.png
77 @gnuplot plotC.gp
78
79 plotD.png: funcD.dat plotD.gp
80 # Gnuplot: plotD.png
81 @gnuplot plotD.gp
82
83 funcA.dat: $(BIN_A)
84 @./$(BIN_A)
85
86 funcB.dat: $(BIN_B)
87 @./$(BIN_B)
88
89 funcC.dat: $(BIN_C)
90 @./$(BIN_C)
91
92 funcD.dat: $(BIN_D)
93 @./$(BIN_D)
94
95 $(BIN_A): $(OBJ_A) $(HEAD_A)
96 @# Link object files together
97 $(LD) $(LDFLAGS) $(OBJ_A) -o $@ $(LDLIBS)
98
99 $(BIN_B): $(OBJ_B) $(HEAD_B)
100 @# Link object files together
101 $(LD) $(LDFLAGS) $(OBJ_B) -o $@ $(LDLIBS)
102
103 $(BIN_C): $(OBJ_C) $(HEAD_C)
104 @# Link object files together
105 $(LD) $(LDFLAGS) $(OBJ_C) -o $@ $(LDLIBS)
106
107 $(BIN_D): $(OBJ_D) $(HEAD_D)
108 @# Link object files together
109 $(LD) $(LDFLAGS) $(OBJ_D) -o $@ $(LDLIBS)
110
111 clean: cleanA cleanB cleanC cleanD
112
113 cleanA:
114 @# Remove object files
115 rm -f $(OBJ_A)
116 @# Remove binaries
117 rm -f $(BIN_A)
118 @# Remove datafiles and plot
119 rm -f funcA.dat plotA.png
120
121 cleanB:
122 @# Remove object files
123 rm -f $(OBJ_B)
124 @# Remove binaries
125 rm -f $(BIN_B)
126 @# Remove datafiles and plot
127 rm -f funcB.dat plotB.png
128
129 cleanC:
130 @# Remove object files
131 rm -f $(OBJ_C)
132 @# Remove binaries
133 rm -f $(BIN_C)
134 @# Remove datafiles and plot
135 rm -f funcC.dat plotC.png
136
137 cleanD:
138 @# Remove object files
139 rm -f $(OBJ_D)
140 @# Remove binaries
141 rm -f $(BIN_D)
142 # Removing datafile and plot
143 @rm -f funcD.dat plotD.png
144
145 htmlfiles: html/mainA.cpp.html html/mainB.cpp.html html/mainC.cpp.html h…
146 # Generating HTML files
147 rst2html2 README.rst > html/README.html
148
149 html/%.html: %
150 vim $< +TOhtml +"w $@" +"qall!"
151
152
153 edit:
154 @$(EDITOR) Makefile README.rst *.cpp *.h *.gp
155
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.