| 56 |
|
constraints \ |
| 57 |
|
profiling \ |
| 58 |
|
restraints \ |
| 59 |
< |
applications \ |
| 59 |
> |
applications |
| 60 |
|
|
| 61 |
|
#packages contain libraries |
| 62 |
|
PackageLibs = \ |
| 63 |
< |
utils \ |
| 64 |
< |
math \ |
| 65 |
< |
types \ |
| 66 |
< |
primitives \ |
| 67 |
< |
visitors \ |
| 68 |
< |
UseTheForce/DarkSide \ |
| 69 |
< |
UseTheForce \ |
| 70 |
< |
brains \ |
| 71 |
< |
io \ |
| 72 |
< |
integrators \ |
| 73 |
< |
minimizers \ |
| 74 |
< |
constraints \ |
| 75 |
< |
profiling \ |
| 76 |
< |
restraints \ |
| 63 |
> |
utils \ |
| 64 |
> |
math \ |
| 65 |
> |
types \ |
| 66 |
> |
primitives \ |
| 67 |
> |
visitors \ |
| 68 |
> |
UseTheForce/DarkSide \ |
| 69 |
> |
UseTheForce \ |
| 70 |
> |
brains \ |
| 71 |
> |
io \ |
| 72 |
> |
integrators \ |
| 73 |
> |
minimizers \ |
| 74 |
> |
constraints \ |
| 75 |
> |
profiling \ |
| 76 |
> |
restraints |
| 77 |
> |
|
| 78 |
|
#--------------------------------------------------------------------------- |
| 79 |
|
# |
| 80 |
|
# Directories |
| 92 |
|
CurrentDir = $(CURDIR) |
| 93 |
|
|
| 94 |
|
ifdef Source |
| 95 |
< |
Package = $(subst $(SourceDir)/,,$(CurrentDir)) |
| 95 |
> |
#get the relative path of current package to source directory |
| 96 |
> |
# /home/maul/gezelter/src/code/src/UseTheForce/Darkside --> UseTheForce/Darkside |
| 97 |
> |
#Package = $(shell echo $(CurrentDir) | sed -e 's/^.*\/src\/\(.*\)/\1/g') |
| 98 |
> |
#use shell script to get the absolute path and then rip it off from $(CurrentDir) |
| 99 |
> |
Package = $(subst $(shell cd $(SourceDir); pwd)/,,$(CurrentDir)) |
| 100 |
> |
|
| 101 |
|
PackageList = $(Package) |
| 102 |
|
PackageSourceDir = $(SourceDir)/$(Package) |
| 103 |
|
PackageTargetDir = $(TargetDir) |
| 107 |
|
PackageList = $(Packages) $(JavaPackages) |
| 108 |
|
endif |
| 109 |
|
|
| 110 |
< |
PackageListLoop = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList)) |
| 110 |
> |
PackageListLoop = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList)) |
| 111 |
|
|
| 112 |
< |
JRE = $(JAVA_HOME)/jre/lib/rt.jar |
| 112 |
> |
JRE = $(JAVA_HOME)/jre/lib/rt.jar |
| 113 |
|
|
| 114 |
|
ifdef IS_UNIX |
| 115 |
|
X = : |
| 137 |
|
$(YaccFiles) $(CorbaFiles), \ |
| 138 |
|
$(Source)) |
| 139 |
|
ManifestFile = $(PackageSourceDir)/Manifest |
| 134 |
– |
SourceFiles = $(JavaFiles:%.java= $(PackageSourceDir)/%.java)\ |
| 135 |
– |
$(CppFiles:%.cpp= $(PackageSourceDir)/%.cpp)\ |
| 136 |
– |
$(CFiles:%.c= $(PackageSourceDir)/%.c)\ |
| 137 |
– |
$(FortranFiles:%.f= $(PackageSourceDir)/%.f)\ |
| 138 |
– |
$(F90Files:%.F90= $(PackageSourceDir)/%.F90)\ |
| 139 |
– |
$(LexFiles:%.l= $(PackageSourceDir)/%.l)\ |
| 140 |
– |
$(YaccFiles:%.y= $(PackageSourceDir)/%.y)\ |
| 140 |
|
|
| 141 |
+ |
SourceFiles = $(JavaFiles)\ |
| 142 |
+ |
$(CppFiles)\ |
| 143 |
+ |
$(CFiles)\ |
| 144 |
+ |
$(FortranFiles)\ |
| 145 |
+ |
$(F90Files)\ |
| 146 |
+ |
$(LexFiles)\ |
| 147 |
+ |
$(YaccFiles) |
| 148 |
|
|
| 149 |
|
# Target |
| 150 |
|
JavaClassFiles = $(JavaFiles:%.java= $(PackageTargetDir)/%.class) |
| 154 |
|
JniClassFiles = $(JniSource:%.java= $(PackageTargetDir)/%.class) |
| 155 |
|
JniHeaders = $(JniSource:%.java= $(PackageSourceDir)/%.h) |
| 156 |
|
ObjectFiles = $(CFiles:%.c= $(PackageTargetDir)/%.o)\ |
| 157 |
< |
$(CppFiles:%.cpp= $(PackageTargetDir)/%.o)\ |
| 158 |
< |
$(FortranFiles:%.f= $(PackageTargetDir)/%.o)\ |
| 159 |
< |
$(F90Files:%.F90= $(PackageTargetDir)/%.o)\ |
| 160 |
< |
$(LexFiles:%.l= $(PackageTargetDir)/%.o)\ |
| 161 |
< |
$(YaccFiles:%.y= $(PackageTargetDir)/%.o) |
| 157 |
> |
$(CppFiles:%.cpp= $(PackageTargetDir)/%.o)\ |
| 158 |
> |
$(FortranFiles:%.f= $(PackageTargetDir)/%.o)\ |
| 159 |
> |
$(F90Files:%.F90= $(PackageTargetDir)/%.o)\ |
| 160 |
> |
$(LexFiles:%.l= $(PackageTargetDir)/%.o)\ |
| 161 |
> |
$(YaccFiles:%.y= $(PackageTargetDir)/%.o) |
| 162 |
|
ParallelObjectFiles = $(CFiles:%.c= $(PackageParallelTargetDir)/%.o)\ |
| 163 |
< |
$(CppFiles:%.cpp= $(PackageParallelTargetDir)/%.o)\ |
| 164 |
< |
$(FortranFiles:%.f= $(PackageParallelTargetDir)/%.o)\ |
| 165 |
< |
$(F90Files:%.F90= $(PackageParallelTargetDir)/%.o)\ |
| 166 |
< |
$(LexFiles:%.l= $(PackageParallelTargetDir)/%.o)\ |
| 167 |
< |
$(YaccFiles:%.y= $(PackageParallelTargetDir)/%.o) |
| 163 |
> |
$(CppFiles:%.cpp= $(PackageParallelTargetDir)/%.o)\ |
| 164 |
> |
$(FortranFiles:%.f= $(PackageParallelTargetDir)/%.o)\ |
| 165 |
> |
$(F90Files:%.F90= $(PackageParallelTargetDir)/%.o)\ |
| 166 |
> |
$(LexFiles:%.l= $(PackageParallelTargetDir)/%.o)\ |
| 167 |
> |
$(YaccFiles:%.y= $(PackageParallelTargetDir)/%.o) |
| 168 |
|
|
| 169 |
|
DerivedSource = $(YaccFiles:%.y= %.h) \ |
| 170 |
< |
$(YaccFiles:%.y= %.c) \ |
| 171 |
< |
$(LexFiles:%.l= %.c) |
| 170 |
> |
$(YaccFiles:%.y= %.c) \ |
| 171 |
> |
$(LexFiles:%.l= %.c) |
| 172 |
|
|
| 173 |
|
DerivedCFiles = $(YaccFiles:%.y= %.c) \ |
| 174 |
< |
$(LexFiles:%.l= %.c) |
| 174 |
> |
$(LexFiles:%.l= %.c) |
| 175 |
|
|
| 176 |
|
OtherTargetFiles = $(OtherSourceFiles:%=$(PackageTargetDir)/%) |
| 177 |
|
|
| 187 |
|
ifneq "$(words $(ObjectFiles) $(ParallelObjectFiles))" "0" |
| 188 |
|
DependencyFile = $(PackageSourceDir)/Makedepend |
| 189 |
|
ifneq "$(Main)" "" |
| 190 |
< |
Executable = $(BinDir)/$(Main) |
| 190 |
> |
Executable = $(BinDir)/$(Main) |
| 191 |
|
ParallelExecutable = $(BinDir)/$(Main)_MPI |
| 192 |
|
else |
| 193 |
< |
SharedLibrary = $(LibDir)/lib$(subst /,,$(Package)).so |
| 194 |
< |
StaticLibrary = $(LibDir)/lib$(subst /,,$(Package)).a |
| 193 |
> |
SharedLibrary = $(LibDir)/lib$(subst /,,$(Package)).so |
| 194 |
> |
StaticLibrary = $(LibDir)/lib$(subst /,,$(Package)).a |
| 195 |
|
ParallelSharedLibrary = $(LibDir)/lib$(subst /,,$(Package))_MPI.so |
| 196 |
|
ParallelStaticLibrary = $(LibDir)/lib$(subst /,,$(Package))_MPI.a |
| 197 |
|
endif |
| 290 |
|
$(MakeDir) $@ |
| 291 |
|
|
| 292 |
|
# .c -> .o |
| 293 |
< |
$(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c |
| 293 |
> |
$(PackageTargetDir)/%.o : %.c |
| 294 |
|
$(Print) $@ |
| 295 |
|
$(Print) $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@ |
| 296 |
|
@$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@ |
| 297 |
|
|
| 298 |
< |
%.o : $(PackageSourceDir)/%.c |
| 298 |
> |
%.o : %.c |
| 299 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
| 300 |
|
|
| 301 |
|
# .cpp -> .o |
| 302 |
< |
$(PackageTargetDir)/%.o : $(PackageSourceDir)/%.cpp |
| 302 |
> |
$(PackageTargetDir)/%.o : %.cpp |
| 303 |
|
$(Print) $@ |
| 304 |
|
$(Print) $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@ |
| 305 |
|
$(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@ |
| 306 |
|
|
| 307 |
< |
%.o : $(PackageSourceDir)/%.cpp |
| 307 |
> |
%.o : %.cpp |
| 308 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
| 309 |
|
|
| 310 |
|
# .f -> .o |
| 311 |
< |
$(PackageTargetDir)/%.o : $(PackageSourceDir)/%.f |
| 311 |
> |
$(PackageTargetDir)/%.o : %.f |
| 312 |
|
$(Print) $@ |
| 313 |
|
$(Print) $(FortranCompiler) $(FortranOptions) -c $< -o $@ |
| 314 |
|
@$(FortranCompiler) $(FortranOptions) -c $< -o $@ |
| 315 |
|
|
| 316 |
< |
%.o : $(PackageSourceDir)/%.f |
| 316 |
> |
%.o : %.f |
| 317 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
| 318 |
|
|
| 319 |
|
# .F90 -> .o |
| 320 |
< |
$(PackageTargetDir)/%.o : $(PackageSourceDir)/%.F90 |
| 320 |
> |
$(PackageTargetDir)/%.o : %.F90 |
| 321 |
|
$(Print) $@ |
| 322 |
|
$(Print) $(F90Compiler) $(F90Options) -c $< -o $@ |
| 323 |
|
@$(F90Compiler) $(F90Options) -c $< -o $@ |
| 324 |
|
|
| 325 |
< |
%.o : $(PackageSourceDir)/%.F90 |
| 325 |
> |
%.o : %.F90 |
| 326 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
| 327 |
|
|
| 328 |
|
# .java -> .class |
| 344 |
|
$(MAKE) $(MakeOptions) $(PackageSourceDir)/$@ |
| 345 |
|
|
| 346 |
|
#.y -> .h |
| 347 |
< |
$(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y |
| 347 |
> |
%.h : %.y |
| 348 |
|
$(Print) $@ |
| 349 |
|
$(Print) @$(Yacc) -d $? |
| 350 |
|
@$(Yacc) -d $? |
| 352 |
|
@$(Delete) y.tab.c |
| 353 |
|
|
| 354 |
|
#.y -> .c |
| 355 |
< |
$(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y |
| 355 |
> |
%.c : %.y |
| 356 |
|
$(Print) $@ |
| 357 |
|
$(Print) $(Yacc) -d $? |
| 358 |
|
@$(Yacc) -d $? |
| 360 |
|
@$(Delete) y.tab.h |
| 361 |
|
|
| 362 |
|
# .l -> .c |
| 363 |
< |
$(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l |
| 363 |
> |
%.c : %.l |
| 364 |
|
$(Print) $@ |
| 365 |
|
$(Print) $(Lex) -o$@ $? |
| 366 |
|
@$(Lex) -o$@ $? |