ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/make/Makefile.in
(Generate patch)

Comparing trunk/OOPSE-2.0/make/Makefile.in (file contents):
Revision 1524 by tim, Tue Oct 5 14:14:46 2004 UTC vs.
Revision 1527 by tim, Tue Oct 5 22:57:01 2004 UTC

# Line 81 | Line 81 | Libraries = \
81  
82   Libraries = \
83          @SPRNG_LIB@ \
84 <        @MPI_LIB@
84 >        @MPI_LIB@ \
85 >        @MPI_F90_LIB@
86  
86 LinkOptions = \
87        @F90LIBS@
88
87   OopseHome       = @OOPSE_HOME@
88   ForceParamDir   = @OOPSE_HOME@/share/forceFields/
89   SampleSimDir    = @OOPSE_HOME@/share/samples/
90   FrcDeclare      = -DFRC_PATH="$(ForceParamDir)"
91   ParallelDeclare = -DIS_MPI
92 + UseMPI          = @USE_MPI@
93  
95
94   #---------------------------------------------------------------------------
95   #
96   #  Directories
# Line 103 | Line 101 | MakeDir           = $(DEV_ROOT)/make
101   TargetDir         = $(DEV_ROOT)/obj
102   ParallelTargetDir = $(DEV_ROOT)/MPIobj
103   LibDir            = $(DEV_ROOT)/lib
104 + ParallelLibDir    = $(DEV_ROOT)/MPIlib
105   MakeDir           = $(DEV_ROOT)/make
106   BinDir            = $(DEV_ROOT)/bin
107   DocsDir           = $(DEV_ROOT)/docs
108   CurrentDir        = $(CURDIR)
109 + RPath = $(shell cd $(DEV_ROOT); pwd)/lib:$(OopseHome)/lib
110 + ParallelRPath = $(shell cd $(DEV_ROOT); pwd)/MPIlib:$(OopseHome)/MPIlib
111 + LinkOptions = \
112 +        @F90LIBS@ \
113 +        -Wl,-R$(RPath)
114  
115 + ParallelLinkOptions = \
116 +        @F90LIBS@ \
117 +        -Wl,-R$(ParallelRPath)
118 +
119   ifdef Source
120   #get the relative path of current package to source directory
121   # /home/maul/gezelter/src/code/src/UseTheForce/Darkside --> UseTheForce/Darkside
# Line 172 | Line 180 | ObjectFiles            = $(CFiles:%.c=        $(Packag
180   JniHeaders             = $(JniSource:%.java=  $(PackageSourceDir)/%.h)
181   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
182                           $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
183 <                                     $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
184 <                                     $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
185 <                                     $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
186 <                                     $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
183 >                         $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
184 >                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
185 >                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
186 >                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
187   ParallelObjectFiles    = $(CFiles:%.c=        $(PackageParallelTargetDir)/%.o)\
188 <                                     $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
189 <                                     $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
190 <                                     $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
191 <                                     $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
192 <                                     $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
188 >                         $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
189 >                         $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
190 >                         $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
191 >                         $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
192 >                         $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
193  
194   DerivedSource          = $(YaccFiles:%.y=    %.h) \
195 <                               $(YaccFiles:%.y=    %.c) \
196 <                               $(LexFiles:%.l=     %.c)
195 >                         $(YaccFiles:%.y=    %.c) \
196 >                         $(LexFiles:%.l=     %.c)
197  
198   DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
199 <                               $(LexFiles:%.l=     %.c)
199 >                         $(LexFiles:%.l=     %.c)
200  
201   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
202  
# Line 209 | Line 217 | ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))
217    else
218      SharedLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).so
219      StaticLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).a
220 <    ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.so
221 <    ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.a
220 >    ParallelSharedLibrary  = $(ParallelLibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).so
221 >    ParallelStaticLibrary  = $(ParallelLibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).a
222    endif
223   endif
224   #
# Line 220 | Line 228 | LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $
228   JavaPackageNames = $(subst /,.,$(JavaPackages))
229   IncludePath      = -I$(SourceDir) $(IncludeDirs:%=-I%)
230   LibDirs          = -L$(LibDir)    $(LibraryDirs:%=-L%)
231 + ParallelLibDirs  = -L$(ParallelLibDir)  $(LibraryDirs:%=-L%)
232   LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
233 < ParallelLocalLibs= $(subst /,,$(patsubst %, oopse_%_MPI, $(PackageLibs)))
233 > ParallelLocalLibs= $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
234   LibList          = $(LocalLibs:%=-l%) $(Libraries)
235 < ParallelLibList  = $(LocalLibs:%=-l%) $(Libraries)
235 > ParallelLibList  = $(ParallelLocalLibs:%=-l%) $(Libraries)
236  
237  
238   #---------------------------------------------------------------------------
# Line 275 | Line 284 | F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDI
284   CppParallelOptions     = $(FrcDeclare) $(ParallelDeclare)
285   FortranOptions         =
286   F90Options             =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)
287 < F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)  @PREPDEFFLAG@$(ParallelDeclare)
287 > F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(ParallelTargetDir)  @PREPDEFFLAG@$(ParallelDeclare)
288   JavaCompilerOptions    = -d $(TargetDir) -classpath $(ClassPath) \
289                           -sourcepath $(SourceDir) -deprecation
290   JavaRunOptions         = -classpath $(ClassPath)
# Line 318 | Line 327 | $(PackageTargetDir)/%.o : %.c
327          $(Print) $@
328          $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
329  
330 + $(PackageParallelTargetDir)/%.o : %.c
331 +        $(Print) $@
332 +        $(CCompiler) $(CParallelOptions) -c $(IncludePath) $< -o $@
333 +
334 + ifeq "$(UseMPI)" "yes"
335   %.o : %.c
336          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
337 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
338 + else
339 + %.o : %.c
340 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
341 + endif
342  
343   # .cpp -> .o
344   $(PackageTargetDir)/%.o : %.cpp
345          $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
346  
347 + $(PackageParallelTargetDir)/%.o : %.cpp
348 +        $(CppCompiler) $(CppParallelOptions) -c $(IncludePath) $< -o $@
349 +
350 + ifeq "$(UseMPI)" "yes"
351   %.o : %.cpp
352          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
353 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
354 + else
355 + %.o : %.cpp
356 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
357 + endif
358  
359   # .f -> .o
360   $(PackageTargetDir)/%.o : %.f
361          $(FortranCompiler) $(FortranOptions) -c $< -o $@
362  
363 + $(PackageParallelTargetDir)/%.o : %.f
364 +        $(FortranCompiler) $(FortranParallelOptions) -c $< -o $@
365 +
366 + ifeq "$(UseMPI)" "yes"
367   %.o : %.f
368          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
369 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
370 + else
371 + %.o : %.f
372 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
373 + endif
374  
375   # .F90 -> .o
376   $(PackageTargetDir)/%.o : %.F90
377 <        $(F90Compiler) $(F90Options) -c $< -o $@
377 >        $(F90Compiler) $(F90Options) $(IncludePath) -c $< -o $@
378  
379 + $(PackageParallelTargetDir)/%.o : %.F90
380 +        $(F90Compiler) $(F90ParallelOptions) $(IncludePath) -c $< -o $@
381 +
382 + ifeq "$(UseMPI)" "yes"
383   %.o : %.F90
384          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
385 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
386 + else
387 + %.o : %.F90
388 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
389 + endif
390  
391 +
392   # .java -> .class
393   $(PackageTargetDir)/%.class : $(PackageSourceDir)/%.java
394          $(JavaCompiler) $(JavaCompilerOptions) $<
# Line 375 | Line 422 | $(LibDir)/%.a : $(ObjectFiles)
422          @$(Lex) -o$@ $?
423  
424   # .o -> .a
425 +
426   $(LibDir)/%.a : $(ObjectFiles)
427          $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
428  
429 < %.a : $(ObjectFiles)
382 <        $(MAKE) $(MakeOptions) $(LibDir)/$@
383 <
384 < $(LibDir)/%_MPI.a : $(ParallelObjectFiles)
429 > $(ParallelLibDir)/%.a: $(ParallelObjectFiles)
430          $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
431  
432 < %_MPI.a : $(ParallelObjectFiles)
432 > ifeq "$(UseMPI)" "yes"
433 > %.a : $(ObjectFiles) $(ParallelObjectFiles)
434          $(MAKE) $(MakeOptions) $(LibDir)/$@
435 +        $(MAKE) $(MakeOptions) $(ParallelLibDir)/$@
436 + else
437 + %.a : $(ObjectFiles)
438 +        $(MAKE) $(MakeOptions) $(LibDir)/$@
439 + endif
440  
441   # .o -> .so
442   $(LibDir)/%.so : $(ObjectFiles)
443          $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
444  
445 < %.so : $(ObjectFiles)
395 <        $(MAKE) $(MakeOptions) $(LibDir)/$@
396 <
397 < $(LibDir)/%_MPI.so : $(ParallelObjectFiles)
445 > $(ParallelLibDir)/%.so : $(ParallelObjectFiles)
446          $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
447  
448 < %_MPI.so : $(ParallelObjectFiles)
448 > ifeq "$(UseMPI)" "yes"
449 > %.so : $(ObjectFiles) $(ParallelObjectFiles)
450          $(MAKE) $(MakeOptions) $(LibDir)/$@
451 +        $(MAKE) $(MakeOptions) $(ParallelLibDir)/$@
452 + else
453 + %.so : $(ObjectFiles)
454 +        $(MAKE) $(MakeOptions) $(LibDir)/$@
455 + endif
456  
457   # .class -> .jar
458   $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles)
# Line 434 | Line 488 | $(Executable) : $(ObjectFiles)
488  
489   # Executable
490   $(Executable) : $(ObjectFiles)
491 <        $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
491 >        $(Linker) $(ObjectFiles) $(LinkOptions) $(LibDirs) $(LibList) -o $@
492  
493   $(ParallelExecutable) : $(ParallelObjectFiles)
494 <        $(Linker) $(LinkOptions) $(LibDirs) $(ParallelLibList) $(ParallelObjectFiles) -o $@
494 >        $(Linker) $(ParallelObjectFiles)  $(ParallelLinkOptions) $(ParallelLibDirs) $(LibList) -o $@
495  
496   # Anything else is just copied from source to target
497   $(PackageTargetDir)/% : $(PackageSourceDir)/%
# Line 450 | Line 504 | _buildall : \
504  
505   _all : _buildall
506  
507 + ifeq "$(UseMPI)" "yes"
508   _buildall : \
509          $(DependencyFile) \
510          $(PackageTargetDir) \
511          $(ObjectFiles) \
512 +        $(ParallelObjectFiles) \
513          $(JavaClassFiles) \
514          $(RmiStubFiles) \
515          $(RmiSkeletonFiles) \
516          $(OtherTargetFiles) \
517          $(SharedLibrary) \
518          $(StaticLibrary) \
519 +        $(ParallelSharedLibrary) \
520 +        $(ParallelStaticLibrary) \
521          $(JarFile) \
522 <        $(Executable)
523 <        
522 >        $(Executable) \
523 >        $(ParallelExecutable)
524 > else
525 > _buildall : \
526 >        $(DependencyFile) \
527 >        $(PackageTargetDir) \
528 >        $(ObjectFiles) \
529 >        $(JavaClassFiles) \
530 >        $(RmiStubFiles) \
531 >        $(RmiSkeletonFiles) \
532 >        $(OtherTargetFiles) \
533 >        $(SharedLibrary) \
534 >        $(StaticLibrary) \
535 >        $(JarFile) \
536 >        $(Executable)
537 > endif
538  
539 +
540   # make clean
541   clean : $(PackageListLoop)
542          $(Print) Done clean.    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines