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 1510 by tim, Wed Sep 29 18:37:08 2004 UTC vs.
Revision 1521 by gezelter, Mon Oct 4 16:06:18 2004 UTC

# Line 33 | Line 33
33   #  $<      - Current dependency
34   #
35   #---------------------------------------------------------------------------
36 <
37 < #---------------------------------------------------------------------------
38 < #
39 < #  Packages
40 < #
41 < #---------------------------------------------------------------------------
42 <
36 > IS_UNIX=1
37   #packages to be made
38   Packages = \
39 <        utils \
40 <        math \
41 <        types \
42 <        primitives \
43 <        visitors \
44 <        UseTheForce/DarkSide \
45 <        UseTheForce \
46 <        brains \
47 <        io \
48 <        integrators \
49 <        minimizers \
50 <        constraints \
51 <        profiling \
52 <        restraints \
53 <        applications \
39 >        utils \
40 >        math \
41 >        types \
42 >        primitives \
43 >        visitors \
44 >        UseTheForce/DarkSide \
45 >        UseTheForce \
46 >        brains \
47 >        io \
48 >        integrators \
49 >        minimizers \
50 >        constraints \
51 >        profiling \
52 >        restraints \
53 >        applications/oopse \
54 >        applications/dump2Xyz \
55 >        applications/simpleBuilder \
56  
57   #packages contain libraries
58   PackageLibs = \
# Line 74 | Line 70 | PackageLibs = \
70          constraints \
71          profiling \
72          restraints \
73 +
74 + IncludeDirs = \
75 +        @SPRNG_INC_DIR@ \
76 +        @MPI_INC_DIR@
77 +
78 + LibraryDirs = \
79 +        @SPRNG_LIB_DIR@ \
80 +        @MPI_LIB_DIR@
81 +
82 + Libraries = \
83 +        @SPRNG_LIB@ \
84 +        @MPI_LIB@
85 +
86 + LinkOptions = \
87 +        @F90LIBS@
88 +
89 + OopseHome       = @OOPSE_HOME@
90 + ForceParamDir   = @OOPSE_HOME@/share/forceFields/
91 + SampleSimDir    = @OOPSE_HOME@/share/samples/
92 + FrcDeclare      = -DFRC_PATH="$(ForceParamDir)"
93 + ParallelDeclare = -DIS_MPI
94 +
95 +
96   #---------------------------------------------------------------------------
97   #
98   #  Directories
99   #
100   #---------------------------------------------------------------------------
101  
83 srcdir = @srcdir@
102   SourceDir         = $(DEV_ROOT)/src
103   TargetDir         = $(DEV_ROOT)/obj
104   ParallelTargetDir = $(DEV_ROOT)/MPIobj
# Line 91 | Line 109 | Package                  = $(subst $(SourceDir)/,,$(Cu
109   CurrentDir        = $(CURDIR)
110  
111   ifdef Source
112 < Package                  = $(subst $(SourceDir)/,,$(CurrentDir))
112 > #get the relative path of current package to source directory
113 > # /home/maul/gezelter/src/code/src/UseTheForce/Darkside --> UseTheForce/Darkside
114 > #Package          = $(shell echo $(CurrentDir) | sed -e 's/^.*\/src\/\(.*\)/\1/g')
115 > #use shell script to get the absolute path and then rip it off from $(CurrentDir)
116 > Package          = $(subst $(shell cd $(SourceDir); pwd)/,,$(CurrentDir))
117 >
118   PackageList              = $(Package)
119   PackageSourceDir         = $(SourceDir)/$(Package)
120   PackageTargetDir         = $(TargetDir)
# Line 101 | Line 124 | PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$
124   PackageList              = $(Packages) $(JavaPackages)
125   endif
126  
127 < PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
127 > PackageListLoop          = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
128  
129 < JRE              = $(JAVA_HOME)/jre/lib/rt.jar
129 > JRE                      = $(JAVA_HOME)/jre/lib/rt.jar
130  
131   ifdef IS_UNIX
132   X = :
# Line 131 | Line 154 | SourceFiles            = $(JavaFiles:%.java=  $(Packag
154                                        $(YaccFiles) $(CorbaFiles), \
155                                        $(Source))
156   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)\
157  
158 + SourceFiles            = $(JavaFiles)\
159 +                         $(CppFiles)\
160 +                         $(CFiles)\
161 +                         $(FortranFiles)\
162 +                         $(F90Files)\
163 +                         $(LexFiles)\
164 +                         $(YaccFiles)
165  
166   # Target
167   JavaClassFiles         = $(JavaFiles:%.java=  $(PackageTargetDir)/%.class)
# Line 148 | Line 171 | ObjectFiles            = $(CFiles:%.c=        $(Packag
171   JniClassFiles          = $(JniSource:%.java=  $(PackageTargetDir)/%.class)
172   JniHeaders             = $(JniSource:%.java=  $(PackageSourceDir)/%.h)
173   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
174 <                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
175 <                         $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
176 <                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
177 <                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
178 <                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
174 >                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
175 >                                     $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
176 >                                     $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
177 >                                     $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
178 >                                     $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
179   ParallelObjectFiles    = $(CFiles:%.c=        $(PackageParallelTargetDir)/%.o)\
180 <                         $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
181 <                         $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
182 <                         $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
183 <                         $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
184 <                         $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
180 >                                     $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
181 >                                     $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
182 >                                     $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
183 >                                     $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
184 >                                     $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
185  
186   DerivedSource          = $(YaccFiles:%.y=    %.h) \
187 <                         $(YaccFiles:%.y=    %.c) \
188 <                         $(LexFiles:%.l=     %.c)
187 >                               $(YaccFiles:%.y=    %.c) \
188 >                               $(LexFiles:%.l=     %.c)
189  
190   DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
191 <                         $(LexFiles:%.l=     %.c)
191 >                               $(LexFiles:%.l=     %.c)
192  
193   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
194  
# Line 181 | Line 204 | ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))
204   ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))" "0"
205    DependencyFile    = $(PackageSourceDir)/Makedepend
206    ifneq "$(Main)" ""
207 <    Executable        = $(BinDir)/$(Main)
207 >    Executable             = $(BinDir)/$(Main)
208      ParallelExecutable     = $(BinDir)/$(Main)_MPI
209    else
210 <    SharedLibrary     = $(LibDir)/lib$(subst /,,$(Package)).so
211 <    StaticLibrary     = $(LibDir)/lib$(subst /,,$(Package)).a
212 <    ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.so
213 <    ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.a
210 >    SharedLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).so
211 >    StaticLibrary          = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package))).a
212 >    ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.so
213 >    ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(patsubst %,oopse_%,$(Package)))_MPI.a
214    endif
215   endif
216   #
# Line 197 | Line 220 | LocalLibs        = $(subst /,,$(PackageLibs))
220   JavaPackageNames = $(subst /,.,$(JavaPackages))
221   IncludePath      = -I$(SourceDir) $(IncludeDirs:%=-I%)
222   LibDirs          = -L$(LibDir)    $(LibraryDirs:%=-L%)
223 < LocalLibs        = $(subst /,,$(PackageLibs))
224 < LibList          = $(LocalLibs:%=-l%) $(Libraries:%=-l%)
223 > LocalLibs        = $(subst /,,$(patsubst %, oopse_%, $(PackageLibs)))
224 > LibList          = $(LocalLibs:%=-l%) $(Libraries)
225  
226  
227   #---------------------------------------------------------------------------
# Line 236 | Line 259 | MakeOptions            = -k -s
259   Lex                    = @LEX@
260  
261  
262 < MakeOptions            = -k -s
262 > MakeOptions            = -k
263   MakeDependOptions      =
264   StaticArchiverOptions  = rc
265   DynamicArchiverOptions = -shared
# Line 244 | Line 267 | FortranOptions         =
267   JniOptions             =
268   RmiOptions             = -d $(TargetDir) -classpath $(ClassPath) \
269                           -sourcepath $(SourceDir)
270 + COptions               = $(FrcDeclare)
271 + CParallelOptions       = $(FrcDeclare) $(ParallelDeclare)
272 + CppOptions             = $(FrcDeclare)
273 + CppParallelOptions     = $(FrcDeclare) $(ParallelDeclare)
274   FortranOptions         =
275 < F90Options             =  -I$(SourceDir) -module $(TargetDir)
275 > F90Options             =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)
276 > F90ParallelOptions     =  @PREPFLAG@ @F90FLAGS@ @MODDIRFLAG@$(SourceDir) -module $(TargetDir)  @PREPDEFFLAG@$(ParallelDeclare)
277   JavaCompilerOptions    = -d $(TargetDir) -classpath $(ClassPath) \
278                           -sourcepath $(SourceDir) -deprecation
279   JavaRunOptions         = -classpath $(ClassPath)
# Line 284 | Line 312 | $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
312          $(MakeDir) $@
313  
314   # .c -> .o
315 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
315 > $(PackageTargetDir)/%.o : %.c
316          $(Print) $@
317 <        $(Print) $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
290 <        @$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
317 >        $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
318  
319 < %.o : $(PackageSourceDir)/%.c
319 > %.o : %.c
320          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
321  
322   # .cpp -> .o
323 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.cpp
297 <        $(Print) $@
298 <        $(Print) $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
323 > $(PackageTargetDir)/%.o : %.cpp
324          $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
325  
326 < %.o : $(PackageSourceDir)/%.cpp
326 > %.o : %.cpp
327          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
328  
329   # .f -> .o
330 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.f
331 <        $(Print) $@
307 <        $(Print) $(FortranCompiler) $(FortranOptions) -c $< -o $@
308 <        @$(FortranCompiler) $(FortranOptions) -c $< -o $@
330 > $(PackageTargetDir)/%.o : %.f
331 >        $(FortranCompiler) $(FortranOptions) -c $< -o $@
332  
333 < %.o : $(PackageSourceDir)/%.f
333 > %.o : %.f
334          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
335  
336   # .F90 -> .o
337 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.F90
338 <        $(Print) $@
316 <        $(Print) $(F90Compiler) $(F90Options) -c $< -o $@
317 <        @$(F90Compiler) $(F90Options) -c $< -o $@
337 > $(PackageTargetDir)/%.o : %.F90
338 >        $(F90Compiler) $(F90Options) -c $< -o $@
339  
340 < %.o : $(PackageSourceDir)/%.F90
340 > %.o : %.F90
341          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
342  
343   # .java -> .class
344   $(PackageTargetDir)/%.class : $(PackageSourceDir)/%.java
345 <        $(Print) $@
325 <        $(Print) $(JavaCompiler) $(JavaCompilerOptions) $<
326 <        @$(JavaCompiler) $(JavaCompilerOptions) $<
345 >        $(JavaCompiler) $(JavaCompilerOptions) $<
346  
347   %.class : $(PackageSourceDir)/%.java
348          @$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
349  
350   # .class -> .h
351   $(PackageSourceDir)/%.h : $(PackageTargetDir)/%.class
333        $(Print) $@
334        $(Print) $(JniCompiler) $(JniOptions) $(JavaPackageName).$*
352          $(JniCompiler) $(JniOptions) $(JavaPackageName).$*
353  
354   %.h : %.class
355          $(MAKE) $(MakeOptions) $(PackageSourceDir)/$@
356  
357   #.y -> .h
358 < $(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y
359 <        $(Print) $@
343 <        $(Print) @$(Yacc) -d $?
344 <        @$(Yacc) -d  $?
358 > %.h : %.y
359 >        $(Yacc) -d  $?
360          @$(Move) y.tab.h $*.h
361          @$(Delete) y.tab.c
362  
363   #.y -> .c
364 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y
365 <        $(Print) $@
351 <        $(Print) $(Yacc) -d $?
352 <        @$(Yacc) -d  $?
364 > %.c : %.y
365 >        $(Yacc) -d  $?
366          @$(Move) y.tab.c $*.c
367          @$(Delete) y.tab.h
368  
369   # .l -> .c
370 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l
370 > %.c : %.l
371          $(Print) $@
372          $(Print) $(Lex) -o$@ $?
373          @$(Lex) -o$@ $?
374  
375   # .o -> .a
376   $(LibDir)/%.a : $(ObjectFiles)
377 <        $(Print) $@
365 <        $(Print) $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
366 <        @$(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
377 >        $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
378  
379   %.a : $(ObjectFiles)
380          $(MAKE) $(MakeOptions) $(LibDir)/$@
381  
382   $(LibDir)/%_MPI.a : $(ParallelObjectFiles)
383 <        $(Print) $@
373 <        $(Print) $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
374 <        @$(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
383 >        $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
384  
385   %_MPI.a : $(ParallelObjectFiles)
386          $(MAKE) $(MakeOptions) $(LibDir)/$@
387  
388   # .o -> .so
389   $(LibDir)/%.so : $(ObjectFiles)
381        $(Print) $@    
382        $(Print) $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
390          $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
391  
392   %.so : $(ObjectFiles)
393          $(MAKE) $(MakeOptions) $(LibDir)/$@
394  
395   $(LibDir)/%_MPI.so : $(ParallelObjectFiles)
389        $(Print) $@    
390        $(Print) $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
396          $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
397  
398   %_MPI.so : $(ParallelObjectFiles)
# Line 396 | Line 401 | $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles
401   # .class -> .jar
402   $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles)
403          $(Print) $@
399        $(Print) $(JavaArchiver) -cf $@ $(JavaClassFilesRel) $(OtherTargetFiles)
404          @cd $(TargetDir); $(JavaArchiver) -cf $@ \
405          $(JavaClassFilesRel) $(OtherTargetFiles)
406  
# Line 428 | Line 432 | $(Executable) : $(ObjectFiles)
432  
433   # Executable
434   $(Executable) : $(ObjectFiles)
431        $(Print) $@
432        $(Print) $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
435          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
436  
437   $(ParallelExecutable) : $(ParallelObjectFiles)
436        $(Print) $@
437        $(Print) $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ParallelObjectFiles) -o $@
438          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ParallelObjectFiles) -o $@
439  
440   # Anything else is just copied from source to target
# Line 460 | Line 460 | _buildall : \
460          $(StaticLibrary) \
461          $(JarFile) \
462          $(Executable)
463 +        
464  
464
465   # make clean
466   clean : $(PackageListLoop)
467          $(Print) Done clean.    
468  
469   _cleanall :
470 <        $(Delete) $(PackageTargetDir)/* \
470 >        $(Delete) $(ObjectFiles) $(ParallelObjectFiles)
471 >
472 > # make distclean
473 > distclean : $(PackageListLoop)
474 >        $(Print) Done clean.    
475 >
476 > _distcleanall :
477 >        $(Delete) $(ObjectFiles) \
478 >                  $(ParallelObjectFiles) \
479                    $(JarFile) \
480                    $(SharedLibrary) \
481                    $(StaticLibrary) \
482 +                  $(ParallelSharedLibrary) \
483 +                  $(ParallelStaticLibrary) \
484                    $(Executable) \
485 +                  $(ParallelExecutable) \
486                    $(DependencyFile)
487  
488  
# Line 489 | Line 500 | ifneq "$(words $(CppFiles))" "0"
500          touch Make.ctemp
501  
502   ifneq "$(words $(CppFiles))" "0"
492        $(Print) Make dependencies for $(CppFiles)
493        $(Print) $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
503          $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
504          cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
505          cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
506   endif
507  
508   ifneq "$(words $(CFiles))" "0"
500        $(Print) Make dependencies for $(CFiles)
501        $(Print) $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   > Make.ctemp
509          $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   > Make.ctemp
510          cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
511          cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
# Line 506 | Line 513 | ifneq "$(words $(F90Files))" "0"
513   endif
514  
515   ifneq "$(words $(F90Files))" "0"
516 <        $(Print) Make dependencies for $(F90Files)
517 <        $(DEV_ROOT)/scripts/sfmakedepend  -I $(DEV_ROOT)/src -d '$$(DEV_ROOT)/obj' -f ./Make.ftemp -h *.F90
516 >        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/obj/' -D__F90  *.F90 > Make.ftemp
517 >        $(DEV_ROOT)/scripts/filepp  -I $(DEV_ROOT)/src -od '$$(DEV_ROOT)/MPIobj/' -DIS_MPI -D__F90  *.F90 >> Make.ftemp
518          cat Make.ftemp >> $(DependencyFile)
519   endif
520          $(Delete) Make.cpptemp Make.ctemp Make.ftemp

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines