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

Comparing trunk/OOPSE-3.0/make/Makefile.in (file contents):
Revision 1524 by tim, Tue Oct 5 14:14:46 2004 UTC vs.
Revision 1525 by tim, Tue Oct 5 19:35:59 2004 UTC

# Line 81 | Line 81 | Libraries = \
81  
82   Libraries = \
83          @SPRNG_LIB@ \
84 <        @MPI_LIB@
84 >        @MPI_LIB@ \
85 >        @MPI_F90_LIB@
86  
87   LinkOptions = \
88          @F90LIBS@
# Line 91 | Line 92 | ParallelDeclare = -DIS_MPI
92   SampleSimDir    = @OOPSE_HOME@/share/samples/
93   FrcDeclare      = -DFRC_PATH="$(ForceParamDir)"
94   ParallelDeclare = -DIS_MPI
95 + UseMPI          = @USE_MPI@
96  
95
97   #---------------------------------------------------------------------------
98   #
99   #  Directories
# Line 103 | Line 104 | MakeDir           = $(DEV_ROOT)/make
104   TargetDir         = $(DEV_ROOT)/obj
105   ParallelTargetDir = $(DEV_ROOT)/MPIobj
106   LibDir            = $(DEV_ROOT)/lib
107 + ParallelLibDir    = $(DEV_ROOT)/MPIlib
108   MakeDir           = $(DEV_ROOT)/make
109   BinDir            = $(DEV_ROOT)/bin
110   DocsDir           = $(DEV_ROOT)/docs
# Line 172 | Line 174 | ObjectFiles            = $(CFiles:%.c=        $(Packag
174   JniHeaders             = $(JniSource:%.java=  $(PackageSourceDir)/%.h)
175   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
176                           $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
177 <                                     $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
178 <                                     $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
179 <                                     $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
180 <                                     $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
177 >                         $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
178 >                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
179 >                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
180 >                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
181   ParallelObjectFiles    = $(CFiles:%.c=        $(PackageParallelTargetDir)/%.o)\
182 <                                     $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
183 <                                     $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
184 <                                     $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
185 <                                     $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
186 <                                     $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
182 >                         $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
183 >                         $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
184 >                         $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
185 >                         $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
186 >                         $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
187  
188   DerivedSource          = $(YaccFiles:%.y=    %.h) \
189 <                               $(YaccFiles:%.y=    %.c) \
190 <                               $(LexFiles:%.l=     %.c)
189 >                         $(YaccFiles:%.y=    %.c) \
190 >                         $(LexFiles:%.l=     %.c)
191  
192   DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
193 <                               $(LexFiles:%.l=     %.c)
193 >                         $(LexFiles:%.l=     %.c)
194  
195   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
196  
# Line 209 | Line 211 | ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))
211    else
212      SharedLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).so
213      StaticLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).a
214 <    ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.so
215 <    ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.a
214 >    ParallelSharedLibrary  = $(ParallelLibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).so
215 >    ParallelStaticLibrary  = $(ParallelLibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).a
216    endif
217   endif
218   #
# Line 220 | Line 222 | LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $
222   JavaPackageNames = $(subst /,.,$(JavaPackages))
223   IncludePath      = -I$(SourceDir) $(IncludeDirs:%=-I%)
224   LibDirs          = -L$(LibDir)    $(LibraryDirs:%=-L%)
225 < LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
226 < ParallelLocalLibs= $(subst /,,$(patsubst %, oopse_%_MPI, $(PackageLibs)))
225 > ParallelLibDirs  = -L$(ParallelLibDir)  $(LibraryDirs:%=-L%)
226 > LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
227 > ParallelLocalLibs= $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
228   LibList          = $(LocalLibs:%=-l%) $(Libraries)
229 < ParallelLibList  = $(LocalLibs:%=-l%) $(Libraries)
229 > ParallelLibList  = $(ParallelLocalLibs:%=-l%) $(Libraries)
230  
231  
232   #---------------------------------------------------------------------------
# Line 275 | Line 278 | F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDI
278   CppParallelOptions     = $(FrcDeclare) $(ParallelDeclare)
279   FortranOptions         =
280   F90Options             =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)
281 < F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)  @PREPDEFFLAG@$(ParallelDeclare)
281 > F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(ParallelTargetDir)  @PREPDEFFLAG@$(ParallelDeclare)
282   JavaCompilerOptions    = -d $(TargetDir) -classpath $(ClassPath) \
283                           -sourcepath $(SourceDir) -deprecation
284   JavaRunOptions         = -classpath $(ClassPath)
# Line 318 | Line 321 | $(PackageTargetDir)/%.o : %.c
321          $(Print) $@
322          $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
323  
324 + $(PackageParallelTargetDir)/%.o : %.c
325 +        $(Print) $@
326 +        $(CCompiler) $(CParallelOptions) -c $(IncludePath) $< -o $@
327 +
328 + ifeq "$(UseMPI)" "yes"
329   %.o : %.c
330          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
331 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
332 + else
333 + %.o : %.c
334 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
335 + endif
336  
337   # .cpp -> .o
338   $(PackageTargetDir)/%.o : %.cpp
339          $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
340  
341 + $(PackageParallelTargetDir)/%.o : %.cpp
342 +        $(CppCompiler) $(CppParallelOptions) -c $(IncludePath) $< -o $@
343 +
344 + ifeq "$(UseMPI)" "yes"
345   %.o : %.cpp
346          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
347 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
348 + else
349 + %.o : %.cpp
350 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
351 + endif
352  
353   # .f -> .o
354   $(PackageTargetDir)/%.o : %.f
355          $(FortranCompiler) $(FortranOptions) -c $< -o $@
356  
357 + $(PackageParallelTargetDir)/%.o : %.f
358 +        $(FortranCompiler) $(FortranParallelOptions) -c $< -o $@
359 +
360 + ifeq "$(UseMPI)" "yes"
361   %.o : %.f
362          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
363 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
364 + else
365 + %.o : %.f
366 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
367 + endif
368  
369   # .F90 -> .o
370   $(PackageTargetDir)/%.o : %.F90
371 <        $(F90Compiler) $(F90Options) -c $< -o $@
371 >        $(F90Compiler) $(F90Options) $(IncludePath) -c $< -o $@
372  
373 + $(PackageParallelTargetDir)/%.o : %.F90
374 +        $(F90Compiler) $(F90ParallelOptions) $(IncludePath) -c $< -o $@
375 +
376 + ifeq "$(UseMPI)" "yes"
377   %.o : %.F90
378          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
379 +        $(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@
380 + else
381 + %.o : %.F90
382 +        $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
383 + endif
384  
385 +
386   # .java -> .class
387   $(PackageTargetDir)/%.class : $(PackageSourceDir)/%.java
388          $(JavaCompiler) $(JavaCompilerOptions) $<
# Line 375 | Line 416 | $(LibDir)/%.a : $(ObjectFiles)
416          @$(Lex) -o$@ $?
417  
418   # .o -> .a
419 +
420   $(LibDir)/%.a : $(ObjectFiles)
421          $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
422  
423 < %.a : $(ObjectFiles)
382 <        $(MAKE) $(MakeOptions) $(LibDir)/$@
383 <
384 < $(LibDir)/%_MPI.a : $(ParallelObjectFiles)
423 > $(ParallelLibDir)/%.a: $(ParallelObjectFiles)
424          $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
425  
426 < %_MPI.a : $(ParallelObjectFiles)
426 > ifeq "$(UseMPI)" "yes"
427 > %.a : $(ObjectFiles) $(ParallelObjectFiles)
428          $(MAKE) $(MakeOptions) $(LibDir)/$@
429 +        $(MAKE) $(MakeOptions) $(ParallelLibDir)/$@
430 + else
431 + %.a : $(ObjectFiles)
432 +        $(MAKE) $(MakeOptions) $(LibDir)/$@
433 + endif
434  
435   # .o -> .so
436   $(LibDir)/%.so : $(ObjectFiles)
437          $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
438  
439 < %.so : $(ObjectFiles)
395 <        $(MAKE) $(MakeOptions) $(LibDir)/$@
396 <
397 < $(LibDir)/%_MPI.so : $(ParallelObjectFiles)
439 > $(ParallelLibDir)/%.so : $(ParallelObjectFiles)
440          $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
441  
442 < %_MPI.so : $(ParallelObjectFiles)
442 > ifeq "$(UseMPI)" "yes"
443 > %.so : $(ObjectFiles) $(ParallelObjectFiles)
444          $(MAKE) $(MakeOptions) $(LibDir)/$@
445 +        $(MAKE) $(MakeOptions) $(ParallelLibDir)/$@
446 + else
447 + %.so : $(ObjectFiles)
448 +        $(MAKE) $(MakeOptions) $(LibDir)/$@
449 + endif
450  
451   # .class -> .jar
452   $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles)
# Line 434 | Line 482 | $(Executable) : $(ObjectFiles)
482  
483   # Executable
484   $(Executable) : $(ObjectFiles)
485 <        $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
485 >        $(Linker) $(ObjectFiles) $(LinkOptions) $(LibDirs) $(LibList) $(LibList) $(LibList) -o $@
486  
487   $(ParallelExecutable) : $(ParallelObjectFiles)
488 <        $(Linker) $(LinkOptions) $(LibDirs) $(ParallelLibList) $(ParallelObjectFiles) -o $@
488 >        $(Linker) $(ParallelObjectFiles) $(LinkOptions) $(ParallelLibDirs) $(ParallelLibList) $(ParallelLibList) $(ParallelLibList) -o $@
489  
490   # Anything else is just copied from source to target
491   $(PackageTargetDir)/% : $(PackageSourceDir)/%
# Line 450 | Line 498 | _buildall : \
498  
499   _all : _buildall
500  
501 + ifeq "$(UseMPI)" "yes"
502   _buildall : \
503          $(DependencyFile) \
504          $(PackageTargetDir) \
505          $(ObjectFiles) \
506 +        $(ParallelObjectFiles) \
507          $(JavaClassFiles) \
508          $(RmiStubFiles) \
509          $(RmiSkeletonFiles) \
510          $(OtherTargetFiles) \
461        $(SharedLibrary) \
511          $(StaticLibrary) \
512 +        $(ParallelStaticLibrary) \
513          $(JarFile) \
514 <        $(Executable)
515 <        
514 >        $(Executable) \
515 >        $(ParallelExecutable)
516 > else
517 > _buildall : \
518 >        $(DependencyFile) \
519 >        $(PackageTargetDir) \
520 >        $(ObjectFiles) \
521 >        $(JavaClassFiles) \
522 >        $(RmiStubFiles) \
523 >        $(RmiSkeletonFiles) \
524 >        $(OtherTargetFiles) \
525 >        $(StaticLibrary) \
526 >        $(JarFile) \
527 >        $(Executable)
528 > endif
529  
530 +
531   # make clean
532   clean : $(PackageListLoop)
533          $(Print) Done clean.    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines