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 1512 by tim, Wed Sep 29 21:54:03 2004 UTC

# Line 34 | Line 34 | Packages = \
34   #
35   #---------------------------------------------------------------------------
36  
37 + #---------------------------------------------------------------------------
38 + #
39 + #  Packages
40 + #
41 + #---------------------------------------------------------------------------
42 +
43 + #packages to be made
44   Packages = \
45          utils \
46          math \
# Line 49 | Line 56 | Packages = \
56          constraints \
57          profiling \
58          restraints \
59 <        applications \
59 >        applications
60  
61 + #packages contain libraries
62 + PackageLibs = \
63 +              utils \
64 +              math \
65 +              types \
66 +              primitives \
67 +              visitors \
68 +        UseTheForce/DarkSide \
69 +              UseTheForce \
70 +        brains \
71 +              io \
72 +              integrators \
73 +              minimizers \
74 +              constraints \
75 +              profiling \
76 +              restraints
77 +
78   #---------------------------------------------------------------------------
79   #
80   #  Directories
# Line 68 | Line 92 | Package                  = $(subst $(SourceDir)/,,$(Cu
92   CurrentDir        = $(CURDIR)
93  
94   ifdef Source
95 < Package                  = $(subst $(SourceDir)/,,$(CurrentDir))
95 > #get the relative path of current package to source directory
96 > # /home/maul/gezelter/src/code/src/UseTheForce/Darkside --> UseTheForce/Darkside
97 > #Package          = $(shell echo $(CurrentDir) | sed -e 's/^.*\/src\/\(.*\)/\1/g')
98 > #use shell script to get the absolute path and then rip it off from $(CurrentDir)
99 > Package          = $(subst $(shell cd $(SourceDir); pwd)/,,$(CurrentDir))
100 >
101   PackageList              = $(Package)
102   PackageSourceDir         = $(SourceDir)/$(Package)
103   PackageTargetDir         = $(TargetDir)
# Line 78 | Line 107 | PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$
107   PackageList              = $(Packages) $(JavaPackages)
108   endif
109  
110 < PackageListLoop  = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
110 > PackageListLoop          = $(patsubst %,$(SourceDir)/%/.loop,$(PackageList))
111  
112 < JRE              = $(JAVA_HOME)/jre/lib/rt.jar
112 > JRE                      = $(JAVA_HOME)/jre/lib/rt.jar
113  
114   ifdef IS_UNIX
115   X = :
# Line 108 | Line 137 | SourceFiles            = $(JavaFiles:%.java=  $(Packag
137                                        $(YaccFiles) $(CorbaFiles), \
138                                        $(Source))
139   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)\
140  
141 + SourceFiles            = $(JavaFiles)\
142 +                         $(CppFiles)\
143 +                         $(CFiles)\
144 +                         $(FortranFiles)\
145 +                         $(F90Files)\
146 +                         $(LexFiles)\
147 +                         $(YaccFiles)
148  
149   # Target
150   JavaClassFiles         = $(JavaFiles:%.java=  $(PackageTargetDir)/%.class)
# Line 125 | Line 154 | ObjectFiles            = $(CFiles:%.c=        $(Packag
154   JniClassFiles          = $(JniSource:%.java=  $(PackageTargetDir)/%.class)
155   JniHeaders             = $(JniSource:%.java=  $(PackageSourceDir)/%.h)
156   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
157 <                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
158 <                         $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
159 <                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
160 <                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
161 <                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
157 >                         $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
158 >                                     $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
159 >                                     $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
160 >                                     $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
161 >                                     $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
162   ParallelObjectFiles    = $(CFiles:%.c=        $(PackageParallelTargetDir)/%.o)\
163 <                         $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
164 <                         $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
165 <                         $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
166 <                         $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
167 <                         $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
163 >                                     $(CppFiles:%.cpp=    $(PackageParallelTargetDir)/%.o)\
164 >                                     $(FortranFiles:%.f=  $(PackageParallelTargetDir)/%.o)\
165 >                                     $(F90Files:%.F90=    $(PackageParallelTargetDir)/%.o)\
166 >                                     $(LexFiles:%.l=      $(PackageParallelTargetDir)/%.o)\
167 >                                     $(YaccFiles:%.y=     $(PackageParallelTargetDir)/%.o)
168  
169   DerivedSource          = $(YaccFiles:%.y=    %.h) \
170 <                         $(YaccFiles:%.y=    %.c) \
171 <                         $(LexFiles:%.l=     %.c)
170 >                               $(YaccFiles:%.y=    %.c) \
171 >                               $(LexFiles:%.l=     %.c)
172  
173   DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
174 <                         $(LexFiles:%.l=     %.c)
174 >                               $(LexFiles:%.l=     %.c)
175  
176   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
177  
# Line 158 | Line 187 | ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))
187   ifneq  "$(words $(ObjectFiles) $(ParallelObjectFiles))" "0"
188    DependencyFile    = $(PackageSourceDir)/Makedepend
189    ifneq "$(Main)" ""
190 <    Executable        = $(BinDir)/$(Main)
190 >    Executable             = $(BinDir)/$(Main)
191      ParallelExecutable     = $(BinDir)/$(Main)_MPI
192    else
193 <    SharedLibrary     = $(LibDir)/lib$(subst /,,$(Package)).so
194 <    StaticLibrary     = $(LibDir)/lib$(subst /,,$(Package)).a
193 >    SharedLibrary          = $(LibDir)/lib$(subst /,,$(Package)).so
194 >    StaticLibrary          = $(LibDir)/lib$(subst /,,$(Package)).a
195      ParallelSharedLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.so
196      ParallelStaticLibrary  = $(LibDir)/lib$(subst /,,$(Package))_MPI.a
197    endif
# Line 174 | Line 203 | LocalLibs        = $(subst /,,$(Packages))
203   JavaPackageNames = $(subst /,.,$(JavaPackages))
204   IncludePath      = -I$(SourceDir) $(IncludeDirs:%=-I%)
205   LibDirs          = -L$(LibDir)    $(LibraryDirs:%=-L%)
206 < LocalLibs        = $(subst /,,$(Packages))
206 > LocalLibs        = $(subst /,,$(PackageLibs))
207   LibList          = $(LocalLibs:%=-l%) $(Libraries:%=-l%)
208  
209  
# Line 261 | Line 290 | $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
290          $(MakeDir) $@
291  
292   # .c -> .o
293 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
293 > $(PackageTargetDir)/%.o : %.c
294          $(Print) $@
295          $(Print) $(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
296          @$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
297  
298 < %.o : $(PackageSourceDir)/%.c
298 > %.o : %.c
299          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
300  
301   # .cpp -> .o
302 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.cpp
302 > $(PackageTargetDir)/%.o : %.cpp
303          $(Print) $@
304          $(Print) $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
305          $(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@
306  
307 < %.o : $(PackageSourceDir)/%.cpp
307 > %.o : %.cpp
308          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
309  
310   # .f -> .o
311 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.f
311 > $(PackageTargetDir)/%.o : %.f
312          $(Print) $@
313          $(Print) $(FortranCompiler) $(FortranOptions) -c $< -o $@
314          @$(FortranCompiler) $(FortranOptions) -c $< -o $@
315  
316 < %.o : $(PackageSourceDir)/%.f
316 > %.o : %.f
317          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
318  
319   # .F90 -> .o
320 < $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.F90
320 > $(PackageTargetDir)/%.o : %.F90
321          $(Print) $@
322          $(Print) $(F90Compiler) $(F90Options) -c $< -o $@
323          @$(F90Compiler) $(F90Options) -c $< -o $@
324  
325 < %.o : $(PackageSourceDir)/%.F90
325 > %.o : %.F90
326          $(MAKE) $(MakeOptions) $(PackageTargetDir)/$@
327  
328   # .java -> .class
# Line 315 | Line 344 | $(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y
344          $(MAKE) $(MakeOptions) $(PackageSourceDir)/$@
345  
346   #.y -> .h
347 < $(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y
347 > %.h : %.y
348          $(Print) $@
349          $(Print) @$(Yacc) -d $?
350          @$(Yacc) -d  $?
# Line 323 | Line 352 | $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y
352          @$(Delete) y.tab.c
353  
354   #.y -> .c
355 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y
355 > %.c : %.y
356          $(Print) $@
357          $(Print) $(Yacc) -d $?
358          @$(Yacc) -d  $?
# Line 331 | Line 360 | $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l
360          @$(Delete) y.tab.h
361  
362   # .l -> .c
363 < $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l
363 > %.c : %.l
364          $(Print) $@
365          $(Print) $(Lex) -o$@ $?
366          @$(Lex) -o$@ $?
# Line 406 | Line 435 | $(Executable) : $(ObjectFiles)
435   # Executable
436   $(Executable) : $(ObjectFiles)
437          $(Print) $@
438 +        $(Print) $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
439          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ObjectFiles) -o $@
440  
441   $(ParallelExecutable) : $(ParallelObjectFiles)
442          $(Print) $@
443 +        $(Print) $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ParallelObjectFiles) -o $@
444          $(Linker) $(LinkOptions) $(LibDirs) $(LibList) $(ParallelObjectFiles) -o $@
445  
446   # Anything else is just copied from source to target
# Line 459 | Line 490 | $(DependencyFile) : $(DerivedSource)
490   $(DependencyFile) : $(DerivedSource)
491          $(Print) $@
492          @cd $(PackageSourceDir)
493 <        touch Make.temp
494 < ifdef $(CppFiles)
495 <        $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.temp
493 >
494 >        touch Make.ctemp
495 >        touch Make.ctemp
496 >
497 > ifneq "$(words $(CppFiles))" "0"
498 >        $(Print) Make dependencies for $(CppFiles)
499 >        $(Print) $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
500 >        $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.cpptemp
501 >        cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
502 >        cat Make.cpptemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
503   endif
504 < ifdef $(CFiles)
505 <        $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   >> Make.temp
504 >
505 > ifneq "$(words $(CFiles))" "0"
506 >        $(Print) Make dependencies for $(CFiles)
507 >        $(Print) $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   > Make.ctemp
508 >        $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   > Make.ctemp
509 >        cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
510 >        cat Make.ctemp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
511 >
512   endif
513 <        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
514 <        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
515 <        echo $(F90Files)
472 < ifdef $(F90Files)
513 >
514 > ifneq "$(words $(F90Files))" "0"
515 >        $(Print) Make dependencies for $(F90Files)
516          $(DEV_ROOT)/scripts/sfmakedepend  -I $(DEV_ROOT)/src -d '$$(DEV_ROOT)/obj' -f ./Make.ftemp -h *.F90
517          cat Make.ftemp >> $(DependencyFile)
518   endif
519 <        $(Delete) Make.temp Make.ftemp
519 >        $(Delete) Make.cpptemp Make.ctemp Make.ftemp
520  
521   # make lib
522   lib    : $(PackageListLoop)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines