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

Comparing trunk/OOPSE-3.0/make/Makefile (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 73 | Line 73 | IncludeDirs = \
73  
74   IncludeDirs = \
75          /usr/local/include \
76 <        
76 >        /usr/local/mpich/include
77  
78   LibraryDirs = \
79          /usr/local/lib \
80 <        
80 >        /usr/local/mpich/lib
81  
82   Libraries = \
83          -lsprng \
84 <        
84 >        -lmpich \
85 >        -lfmpich
86  
87   LinkOptions = \
88           -L/usr/local/intel/compiler81/lib -L/usr/lib -lifport -lifcore -limf -lm -lcxa -lirc -lunwind -lirc_s
# Line 91 | Line 92 | ParallelDeclare = -DIS_MPI
92   SampleSimDir    = /usr/local/oopse/share/samples/
93   FrcDeclare      = -DFRC_PATH="$(ForceParamDir)"
94   ParallelDeclare = -DIS_MPI
95 + UseMPI          = yes
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 + ParallelLibDirs  = -L$(ParallelLibDir)  $(LibraryDirs:%=-L%)
226   LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
227 < ParallelLocalLibs= $(subst /,,$(patsubst %, oopse_%_MPI, $(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     =  -fpp1  -O -I$(SourceDir) -mo
278   CppParallelOptions     = $(FrcDeclare) $(ParallelDeclare)
279   FortranOptions         =
280   F90Options             =  -fpp1  -O -I$(SourceDir) -module $(TargetDir)
281 < F90ParallelOptions     =  -fpp1  -O -I$(SourceDir) -module $(TargetDir)   $(ParallelDeclare)
281 > F90ParallelOptions     =  -fpp1  -O -I$(SourceDir) -module $(ParallelTargetDir)   $(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.    
# Line 476 | Line 540 | _distcleanall :
540          $(Print) Done clean.    
541  
542   _distcleanall :
543 <        @$(Delete) $(ObjectFiles) \
544 <                   $(ParallelObjectFiles) \
545 <                   $(JarFile) \
546 <                   $(SharedLibrary) \
547 <                   $(StaticLibrary) \
548 <                   $(ParallelSharedLibrary) \
549 <                   $(ParallelStaticLibrary) \
550 <                   $(Executable) \
551 <                   $(ParallelExecutable) \
552 <                   $(DependencyFile)
543 >        $(Delete) $(ObjectFiles) \
544 >                  $(ParallelObjectFiles) \
545 >                        $(JarFile) \
546 >                  $(SharedLibrary) \
547 >                  $(StaticLibrary) \
548 >                  $(ParallelSharedLibrary) \
549 >                  $(ParallelStaticLibrary) \
550 >                  $(Executable) \
551 >                  $(ParallelExecutable) \
552 >                  $(DependencyFile)
553  
554  
555   # make depend
# Line 498 | Line 562 | $(DependencyFile) : $(DerivedSource)
562          $(Print) $@
563          @cd $(PackageSourceDir)
564  
565 <        touch Make.ctemp
566 <        touch Make.ctemp
565 >        @touch Make.ctemp
566 >        @touch Make.ctemp
567  
568   ifneq "$(words $(CppFiles))" "0"
569          $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
# Line 515 | Line 579 | ifneq "$(words $(F90Files))" "0"
579   endif
580  
581   ifneq "$(words $(F90Files))" "0"
582 <        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/obj/' -D__FORTRAN90   $(F90Files) > Make.ftemp
583 <        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/MPIobj/' -DIS_MPI -D__FORTRAN90   $(F90Files) >> Make.ftemp
582 >        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/obj/' -D__FORTRAN90  $(F90Files) > Make.ftemp
583 >        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/MPIobj/' -DIS_MPI -D__FORTRAN90  $(F90Files) >> Make.ftemp
584          cat Make.ftemp >> $(DependencyFile)
585   endif
586          $(Delete) Make.cpptemp Make.ctemp Make.ftemp
# Line 548 | Line 612 | cvslog:
612  
613   pure : $(Executable).pure
614  
615 + #make cvslog
616   cvslog:
617          $(DEV_ROOT)/scripts/cvs2cl.pl
618  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines