1 |
tim |
1574 |
Main = IOTest |
2 |
|
|
|
3 |
|
|
TestMain = $(Main) |
4 |
|
|
|
5 |
|
|
Source = IOTest.cpp \ |
6 |
|
|
IfstrstreamTestCase.cpp |
7 |
|
|
|
8 |
|
|
DEV_ROOT = ../.. |
9 |
|
|
UseMPI = yes |
10 |
|
|
ParallelDeclare = -DIS_MPI |
11 |
|
|
CppCompiler = icpc |
12 |
|
|
Linker = icpc |
13 |
|
|
Delete = /bin/rm -rf |
14 |
|
|
MakeDepend = makedepend |
15 |
|
|
|
16 |
|
|
MPIRun = /usr/local/mpich/bin/mpirun |
17 |
|
|
MPINumProc = -np 2 |
18 |
|
|
|
19 |
|
|
CppOptions = |
20 |
|
|
CppParallelOptions = $(ParallelDeclare) |
21 |
|
|
|
22 |
|
|
OOPSESrcDir = $(DEV_ROOT)/src |
23 |
|
|
SourceDir = $(DEV_ROOT)/test |
24 |
|
|
Package = $(subst $(shell cd $(SourceDir); pwd)/,,$(shell pwd)) |
25 |
|
|
PackageSourceDir = $(SourceDir)/$(Package) |
26 |
|
|
PackageTargetDir = $(DEV_ROOT)/obj |
27 |
|
|
PackageParallelTargetDir = $(DEV_ROOT)/MPIobj |
28 |
|
|
|
29 |
|
|
MakeOptions = -k |
30 |
|
|
|
31 |
|
|
IncludeDirs = \ |
32 |
|
|
/usr/local/include \ |
33 |
|
|
/usr/local/mpich/include \ |
34 |
|
|
/home/maul/gezelter/tim/cppunit/include \ |
35 |
|
|
$(OOPSESrcDir) |
36 |
|
|
|
37 |
|
|
IncludePath = -I$(SourceDir) $(IncludeDirs:%=-I%) |
38 |
|
|
|
39 |
|
|
LibraryDirs = \ |
40 |
|
|
/usr/local/lib \ |
41 |
|
|
/usr/local/mpich/lib \ |
42 |
|
|
/home/maul/gezelter/tim/cppunit/lib |
43 |
|
|
|
44 |
|
|
LibDirs = -L$(LibDir) $(LibraryDirs:%=-L%) |
45 |
|
|
|
46 |
|
|
Libraries = \ |
47 |
|
|
-lsprng \ |
48 |
|
|
-lmpich \ |
49 |
|
|
-lfmpich \ |
50 |
|
|
-lcppunit \ |
51 |
|
|
-ldl |
52 |
|
|
|
53 |
|
|
#LinkOptions = \ |
54 |
|
|
-L/usr/local/intel/compiler81/lib -L/usr/lib -lifport -lifcore -limf -lm -lcxa -lirc -lunwind -lirc_s |
55 |
|
|
|
56 |
|
|
#ParallelLinkOptions = \ |
57 |
|
|
-L/usr/local/intel/compiler81/lib -L/usr/lib -lifport -lifcore -limf -lm -lcxa -lirc -lunwind -lirc_s |
58 |
|
|
|
59 |
|
|
|
60 |
|
|
ObjectFiles = $(Source:%.cpp= $(PackageTargetDir)/%.o) |
61 |
|
|
ParallelObjectFiles = $(Source:%.cpp= $(PackageParallelTargetDir)/%.o) |
62 |
|
|
|
63 |
|
|
ifneq "$(words $(ObjectFiles) $(ParallelObjectFiles))" "0" |
64 |
|
|
# DependencyFile = $(PackageSourceDir)/Makedepend |
65 |
|
|
endif |
66 |
|
|
|
67 |
|
|
ifneq "$(words $(Main))" "0" |
68 |
|
|
Executable = $(PackageSourceDir)/$(Main) |
69 |
|
|
ParallelExecutable = $(PackageSourceDir)/$(Main)_MPI |
70 |
|
|
endif |
71 |
|
|
#Rules |
72 |
|
|
default : test |
73 |
|
|
|
74 |
|
|
# .cpp -> .o |
75 |
|
|
$(PackageTargetDir)/%.o : %.cpp |
76 |
|
|
@echo $(shell cd $(SourceDir); pwd) |
77 |
|
|
@echo $(Package) |
78 |
|
|
$(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@ |
79 |
|
|
|
80 |
|
|
$(PackageParallelTargetDir)/%.o : %.cpp |
81 |
|
|
$(CppCompiler) $(CppParallelOptions) -c $(IncludePath) $< -o $@ |
82 |
|
|
|
83 |
|
|
ifeq "$(UseMPI)" "yes" |
84 |
|
|
%.o : %.cpp |
85 |
|
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
86 |
|
|
$(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@ |
87 |
|
|
else |
88 |
|
|
%.o : %.cpp |
89 |
|
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
90 |
|
|
endif |
91 |
|
|
|
92 |
|
|
|
93 |
|
|
# Executable |
94 |
|
|
$(Executable) : $(ObjectFiles) |
95 |
|
|
|
96 |
|
|
$(Linker) $(ObjectFiles) $(LinkOptions) $(LibDirs) $(Libraries) -o $@ |
97 |
|
|
|
98 |
|
|
$(ParallelExecutable) : $(ParallelObjectFiles) |
99 |
|
|
$(Linker) $(ParallelObjectFiles) $(ParallelLinkOptions) $(LibDirs) $(Libraries) -o $@ |
100 |
|
|
|
101 |
|
|
|
102 |
|
|
$(DependencyFile): |
103 |
|
|
$(Print) $@ |
104 |
|
|
|
105 |
|
|
$(DEV_ROOT)/scripts/filepp -I $(DEV_ROOT)/src -od '$$(TargetDir)/' -MM $(Source)>> Make.cpptemp |
106 |
|
|
@cat Make.cpptemp >> $(DependencyFile) |
107 |
|
|
$(Delete) Make.cpptemp |
108 |
|
|
|
109 |
|
|
ifeq "$(UseMPI)" "yes" |
110 |
|
|
$(DEV_ROOT)/scripts/filepp -I $(DEV_ROOT)/src -od '$$(ParallelTargetDir)/' $(ParallelDeclare) -MM $(Source)>> Make.cpptemp |
111 |
|
|
@cat Make.cpptemp >> $(DependencyFile) |
112 |
|
|
@$(Delete) Make.cpptemp |
113 |
|
|
endif |
114 |
|
|
|
115 |
|
|
|
116 |
|
|
|
117 |
|
|
|
118 |
|
|
|
119 |
|
|
ifeq "$(UseMPI)" "yes" |
120 |
|
|
test : \ |
121 |
|
|
$(DependencyFile) \ |
122 |
|
|
$(ObjectFiles) \ |
123 |
|
|
$(ParallelObjectFiles) \ |
124 |
|
|
$(Executable) \ |
125 |
|
|
$(ParallelExecutable) |
126 |
|
|
else |
127 |
|
|
test : \ |
128 |
|
|
$(DependencyFile) \ |
129 |
|
|
$(ObjectFiles) \ |
130 |
|
|
$(Executable) |
131 |
|
|
endif |
132 |
|
|
|
133 |
|
|
ifeq "$(UseMPI)" "yes" |
134 |
|
|
runtest : test |
135 |
|
|
@echo |
136 |
|
|
@echo test single version |
137 |
|
|
$(Executable) |
138 |
|
|
@echo |
139 |
|
|
@echo test MPI version |
140 |
|
|
$(MPIRun) $(MPINumProc) $(ParallelExecutable) |
141 |
|
|
else |
142 |
|
|
runtest : test |
143 |
|
|
@echo test single version |
144 |
|
|
$(Executable) |
145 |
|
|
endif |
146 |
|
|
clean: |
147 |
|
|
$(Delete) $(ObjectFiles) $(ParallelObjectFiles) $(Executable) $(ParallelExecutable) |
148 |
|
|
|
149 |
|
|
ifdef $(DependencyFile) |
150 |
|
|
-include $(DependencyFile) |
151 |
|
|
endif |