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 1508 by gezelter, Wed Sep 29 17:56:08 2004 UTC vs.
Revision 1516 by gezelter, Fri Oct 1 21:22:27 2004 UTC

# Line 33 | Line 33
33   #  $<      - Current dependency
34   #
35   #---------------------------------------------------------------------------
36 <
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 = \
59 +        utils \
60 +        math \
61 +        types \
62 +        primitives \
63 +        visitors \
64 +        UseTheForce/DarkSide \
65 +        UseTheForce \
66 +        brains \
67 +        io \
68 +        integrators \
69 +        minimizers \
70 +        constraints \
71 +        profiling \
72 +        restraints \
73 +
74 + IncludeDirs = \
75 +        /usr/include \
76 +        /usr/local/include
77 +
78 + LibraryDirs = \
79 +        /usr/lib \
80 +        /usr/local/mpich/lib \
81 +        /usr/local/lib \
82 +        /usr/local/intel/compiler81/lib \
83 +
84 + Libraries = \
85 +        mpich \
86 +        sprng \
87 +        ifcore \
88 +
89   #---------------------------------------------------------------------------
90   #
91   #  Directories
92   #
93   #---------------------------------------------------------------------------
94  
60 srcdir = @srcdir@
95   SourceDir         = $(DEV_ROOT)/src
96   TargetDir         = $(DEV_ROOT)/obj
97   ParallelTargetDir = $(DEV_ROOT)/MPIobj
# Line 68 | Line 102 | Package                  = $(subst $(SourceDir)/,,$(Cu
102   CurrentDir        = $(CURDIR)
103  
104   ifdef Source
105 < Package                  = $(subst $(SourceDir)/,,$(CurrentDir))
105 > #get the relative path of current package to source directory
106 > # /home/maul/gezelter/src/code/src/UseTheForce/Darkside --> UseTheForce/Darkside
107 > #Package          = $(shell echo $(CurrentDir) | sed -e 's/^.*\/src\/\(.*\)/\1/g')
108 > #use shell script to get the absolute path and then rip it off from $(CurrentDir)
109 > Package          = $(subst $(shell cd $(SourceDir); pwd)/,,$(CurrentDir))
110 >
111   PackageList              = $(Package)
112   PackageSourceDir         = $(SourceDir)/$(Package)
113   PackageTargetDir         = $(TargetDir)
# Line 78 | Line 117 | PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$
117   PackageList              = $(Packages) $(JavaPackages)
118   endif
119  
120 < PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
120 > PackageListLoop          = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
121  
122 < JRE              = $(JAVA_HOME)/jre/lib/rt.jar
122 > JRE                      = $(JAVA_HOME)/jre/lib/rt.jar
123  
124   ifdef IS_UNIX
125   X = :
# Line 108 | Line 147 | SourceFiles            = $(JavaFiles:%.java=  $(Packag
147                                        $(YaccFiles) $(CorbaFiles), \
148                                        $(Source))
149   ManifestFile           = $(PackageSourceDir)/Manifest
111 SourceFiles            = $(JavaFiles:%.java=  $(PackageSourceDir)/%.java)\
112                         $(CppFiles:%.cpp=    $(PackageSourceDir)/%.cpp)\
113                         $(CFiles:%.c=        $(PackageSourceDir)/%.c)\
114                         $(FortranFiles:%.f=  $(PackageSourceDir)/%.f)\
115                         $(F90Files:%.F90=    $(PackageSourceDir)/%.F90)\
116                         $(LexFiles:%.l=      $(PackageSourceDir)/%.l)\
117                         $(YaccFiles:%.y=     $(PackageSourceDir)/%.y)\
150  
151 + SourceFiles            = $(JavaFiles)\
152 +                         $(CppFiles)\
153 +                         $(CFiles)\
154 +                         $(FortranFiles)\
155 +                         $(F90Files)\
156 +                         $(LexFiles)\
157 +                         $(YaccFiles)
158  
159   # Target
160   JavaClassFiles         = $(JavaFiles:%.java=  $(PackageTargetDir)/%.class)
# Line 125 | Line 164 | ObjectFiles            = $(CFiles:%.c=        $(Packag
164   JniClassFiles          = $(JniSource:%.java=  $(PackageTargetDir)/%.class)
165   JniHeaders             = $(JniSource:%.java=  $(PackageSourceDir)/%.h)
166   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
167 <                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
168 <                         $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
169 <                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
170 <                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
171 <                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
167 >                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
168 >                                     $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
169 >                                     $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
170 >                                     $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
171 >                                     $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
172   ParallelObjectFiles    = $(CFiles:%.c=        $(PackageParallelTargetDir)/%.o)\
173 <                         $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
174 <                         $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
175 <                         $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
176 <                         $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
177 <                         $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
173 >                                     $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
174 >                                     $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
175 >                                     $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
176 >                                     $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
177 >                                     $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
178  
179   DerivedSource          = $(YaccFiles:%.y=    %.h) \
180 <                         $(YaccFiles:%.y=    %.c) \
181 <                         $(LexFiles:%.l=     %.c)
180 >                               $(YaccFiles:%.y=    %.c) \
181 >                               $(LexFiles:%.l=     %.c)
182  
183   DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
184 <                         $(LexFiles:%.l=     %.c)
184 >                               $(LexFiles:%.l=     %.c)
185  
186   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
187  
# Line 158 | Line 197 | ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))
197   ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))" "0"
198    DependencyFile    = $(PackageSourceDir)/Makedepend
199    ifneq "$(Main)" ""
200 <    Executable        = $(BinDir)/$(Main)
200 >    Executable             = $(BinDir)/$(Main)
201      ParallelExecutable     = $(BinDir)/$(Main)_MPI
202    else
203 <    SharedLibrary     = $(LibDir)/lib$(subst /,,$(Package)).so
204 <    StaticLibrary     = $(LibDir)/lib$(subst /,,$(Package)).a
203 >    SharedLibrary          = $(LibDir)/lib$(subst /,,$(Package)).so
204 >    StaticLibrary          = $(LibDir)/lib$(subst /,,$(Package)).a
205      ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.so
206      ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.a
207    endif
# Line 174 | Line 213 | LocalLibs        = $(subst /,,$(Packages))
213   JavaPackageNames = $(subst /,.,$(JavaPackages))
214   IncludePath      = -I$(SourceDir) $(IncludeDirs:%=-I%)
215   LibDirs          = -L$(LibDir)    $(LibraryDirs:%=-L%)
216 < LocalLibs        = $(subst /,,$(Packages))
216 > LocalLibs        = $(subst /,,$(PackageLibs))
217   LibList          = $(LocalLibs:%=-l%) $(Libraries:%=-l%)
218  
219  
# Line 213 | Line 252 | MakeOptions            = -k -s
252   Lex                    = @LEX@
253  
254  
255 < MakeOptions            = -k -s
255 > MakeOptions            = -k
256   MakeDependOptions      =
257   StaticArchiverOptions  = rc
258   DynamicArchiverOptions = -shared
# Line 261 | Line 300 | $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
300          $(MakeDir) $@
301  
302   # .c -> .o
303 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
303 > $(PackageTargetDir)/%.o : %.c
304          $(Print) $@
305 <        $(Print) $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
267 <        @$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
305 >        $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
306  
307 < %.o : $(PackageSourceDir)/%.c
307 > %.o : %.c
308          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
309  
310   # .cpp -> .o
311 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.cpp
274 <        $(Print) $@
275 <        $(Print) $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
311 > $(PackageTargetDir)/%.o : %.cpp
312          $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
313  
314 < %.o : $(PackageSourceDir)/%.cpp
314 > %.o : %.cpp
315          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
316  
317   # .f -> .o
318 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.f
319 <        $(Print) $@
284 <        $(Print) $(FortranCompiler) $(FortranOptions) -c $< -o $@
285 <        @$(FortranCompiler) $(FortranOptions) -c $< -o $@
318 > $(PackageTargetDir)/%.o : %.f
319 >        $(FortranCompiler) $(FortranOptions) -c $< -o $@
320  
321 < %.o : $(PackageSourceDir)/%.f
321 > %.o : %.f
322          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
323  
324   # .F90 -> .o
325 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.F90
326 <        $(Print) $@
293 <        $(Print) $(F90Compiler) $(F90Options) -c $< -o $@
294 <        @$(F90Compiler) $(F90Options) -c $< -o $@
325 > $(PackageTargetDir)/%.o : %.F90
326 >        $(F90Compiler) $(F90Options) -c $< -o $@
327  
328 < %.o : $(PackageSourceDir)/%.F90
328 > %.o : %.F90
329          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
330  
331   # .java -> .class
332   $(PackageTargetDir)/%.class : $(PackageSourceDir)/%.java
333 <        $(Print) $@
302 <        $(Print) $(JavaCompiler) $(JavaCompilerOptions) $<
303 <        @$(JavaCompiler) $(JavaCompilerOptions) $<
333 >        $(JavaCompiler) $(JavaCompilerOptions) $<
334  
335   %.class : $(PackageSourceDir)/%.java
336          @$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
337  
338   # .class -> .h
339   $(PackageSourceDir)/%.h : $(PackageTargetDir)/%.class
310        $(Print) $@
311        $(Print) $(JniCompiler) $(JniOptions) $(JavaPackageName).$*
340          $(JniCompiler) $(JniOptions) $(JavaPackageName).$*
341  
342   %.h : %.class
343          $(MAKE) $(MakeOptions) $(PackageSourceDir)/$@
344  
345   #.y -> .h
346 < $(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y
347 <        $(Print) $@
320 <        $(Print) @$(Yacc) -d $?
321 <        @$(Yacc) -d  $?
346 > %.h : %.y
347 >        $(Yacc) -d  $?
348          @$(Move) y.tab.h $*.h
349          @$(Delete) y.tab.c
350  
351   #.y -> .c
352 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y
353 <        $(Print) $@
328 <        $(Print) $(Yacc) -d $?
329 <        @$(Yacc) -d  $?
352 > %.c : %.y
353 >        $(Yacc) -d  $?
354          @$(Move) y.tab.c $*.c
355          @$(Delete) y.tab.h
356  
357   # .l -> .c
358 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l
358 > %.c : %.l
359          $(Print) $@
360          $(Print) $(Lex) -o$@ $?
361          @$(Lex) -o$@ $?
362  
363   # .o -> .a
364   $(LibDir)/%.a : $(ObjectFiles)
365 <        $(Print) $@
342 <        $(Print) $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
343 <        @$(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
365 >        $(StaticArchiver) $(StaticArchiverOptions) $@ $(ObjectFiles)
366  
367   %.a : $(ObjectFiles)
368          $(MAKE) $(MakeOptions) $(LibDir)/$@
369  
370   $(LibDir)/%_MPI.a : $(ParallelObjectFiles)
371 <        $(Print) $@
350 <        $(Print) $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
351 <        @$(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
371 >        $(StaticArchiver) $(StaticArchiverOptions) $@ $(ParallelObjectFiles)
372  
373   %_MPI.a : $(ParallelObjectFiles)
374          $(MAKE) $(MakeOptions) $(LibDir)/$@
375  
376   # .o -> .so
377   $(LibDir)/%.so : $(ObjectFiles)
358        $(Print) $@    
359        $(Print) $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
378          $(DynamicArchiver) $(ObjectFiles) $(DynamicArchiverOptions) -o $@
379  
380   %.so : $(ObjectFiles)
381          $(MAKE) $(MakeOptions) $(LibDir)/$@
382  
383   $(LibDir)/%_MPI.so : $(ParallelObjectFiles)
366        $(Print) $@    
367        $(Print) $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
384          $(DynamicArchiver) $(ParallelObjectFiles) $(DynamicArchiverOptions) -o $@
385  
386   %_MPI.so : $(ParallelObjectFiles)
# Line 373 | Line 389 | $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles
389   # .class -> .jar
390   $(LibDir)/%.jar : $(JavaClassFiles) $(OtherTargetFiles)
391          $(Print) $@
376        $(Print) $(JavaArchiver) -cf $@ $(JavaClassFilesRel) $(OtherTargetFiles)
392          @cd $(TargetDir); $(JavaArchiver) -cf $@ \
393          $(JavaClassFilesRel) $(OtherTargetFiles)
394  
# Line 405 | Line 420 | $(Executable) : $(ObjectFiles)
420  
421   # Executable
422   $(Executable) : $(ObjectFiles)
408        $(Print) $@
423          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
424  
425   $(ParallelExecutable) : $(ParallelObjectFiles)
412        $(Print) $@
426          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ParallelObjectFiles) -o $@
427  
428   # Anything else is just copied from source to target
# Line 435 | Line 448 | _buildall : \
448          $(StaticLibrary) \
449          $(JarFile) \
450          $(Executable)
451 +        
452  
439
453   # make clean
454   clean : $(PackageListLoop)
455          $(Print) Done clean.    
456  
457   _cleanall :
458 <        $(Delete) $(PackageTargetDir)/* \
458 >        $(Delete) $(ObjectFiles) $(ParallelObjectFiles)
459 >
460 > # make distclean
461 > distclean : $(PackageListLoop)
462 >        $(Print) Done clean.    
463 >
464 > _distcleanall :
465 >        $(Delete) $(ObjectFiles) \
466 >                  $(ParallelObjectFiles) \
467                    $(JarFile) \
468                    $(SharedLibrary) \
469                    $(StaticLibrary) \
470 +                  $(ParallelSharedLibrary) \
471 +                  $(ParallelStaticLibrary) \
472                    $(Executable) \
473 +                  $(ParallelExecutable) \
474                    $(DependencyFile)
475  
476  
# Line 459 | Line 483 | $(DependencyFile) : $(DerivedSource)
483   $(DependencyFile) : $(DerivedSource)
484          $(Print) $@
485          @cd $(PackageSourceDir)
486 <        touch Make.temp
487 < ifdef $(CppFiles)
488 <        $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.temp
486 >
487 >        touch Make.ctemp
488 >        touch Make.ctemp
489 >
490 > ifneq "$(words $(CppFiles))" "0"
491 >        $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
492 >        cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
493 >        cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
494   endif
495 < ifdef $(CFiles)
496 <        $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   >> Make.temp
495 >
496 > ifneq "$(words $(CFiles))" "0"
497 >        $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   > Make.ctemp
498 >        cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
499 >        cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
500 >
501   endif
502 <        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
503 <        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
471 <        echo $(F90Files)
472 < ifdef $(F90Files)
502 >
503 > ifneq "$(words $(F90Files))" "0"
504          $(DEV_ROOT)/scripts/sfmakedepend  -I $(DEV_ROOT)/src -d '$$(DEV_ROOT)/obj' -f ./Make.ftemp -h *.F90
505          cat Make.ftemp >> $(DependencyFile)
506   endif
507 <        $(Delete) Make.temp Make.ftemp
507 >        $(Delete) Make.cpptemp Make.ctemp Make.ftemp
508  
509   # make lib
510   lib    : $(PackageListLoop)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines