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 1494 by tim, Mon Sep 27 20:24:15 2004 UTC vs.
Revision 1495 by tim, Tue Sep 28 16:14:17 2004 UTC

# Line 50 | Line 50 | PackageTargetDir = $(TargetDir)/$(Package)
50   Package          = $(subst $(SourceDir)/,,$(CurrentDir))
51   PackageList      = $(Package)
52   PackageSourceDir = $(SourceDir)/$(Package)
53 < PackageTargetDir = $(TargetDir)/$(Package)
53 > PackageTargetDir = $(TargetDir)
54   JavaMainClass    = $(subst /,.,$(Package)).$(Main)
55   else
56   PackageList      = $(Packages) $(JavaPackages)
# Line 79 | Line 79 | OtherSourceFiles       = $(filter-out $(JavaFiles) $(C
79   FortranFiles           = $(filter %.f,     $(Source))
80   F90Files               = $(filter %.F90,   $(Source))
81   CorbaFiles             = $(filter %.idl,   $(Source))
82 + LexFiles               = $(filter %.l,     $(Source))
83 + YaccFiles              = $(filter %.y,     $(Source))
84   OtherSourceFiles       = $(filter-out $(JavaFiles) $(CppFiles) $(CFiles) \
85 <                                      $(FortranFiles) $(F90Files) \
86 <                                      $(CorbaFiles), \
85 >                                      $(FortranFiles) $(F90Files) $(LexFiles) \
86 >                                      $(YaccFiles) $(CorbaFiles), \
87                                        $(Source))
88   ManifestFile           = $(PackageSourceDir)/Manifest
89   SourceFiles            = $(JavaFiles:%.java=  $(PackageSourceDir)/%.java)\
90                           $(CppFiles:%.cpp=    $(PackageSourceDir)/%.cpp)\
91                           $(CFiles:%.c=        $(PackageSourceDir)/%.c)\
92                           $(FortranFiles:%.f=  $(PackageSourceDir)/%.f)\
93 <                         $(F90Files:%.F90=    $(PackageSourceDir)/%.F90)
93 >                         $(F90Files:%.F90=    $(PackageSourceDir)/%.F90)\
94 >                         $(LexFiles:%.l=      $(PackageSourceDir)/%.l)\
95 >                         $(YaccFiles:%.y=     $(PackageSourceDir)/%.y)\
96  
97 +
98   # Target
99   JavaClassFiles         = $(JavaFiles:%.java=  $(PackageTargetDir)/%.class)
100   JavaClassFilesRel      = $(JavaFiles:%.java=  $(Package)/%.class)
# Line 100 | Line 105 | ObjectFiles            = $(CFiles:%.c=        $(Packag
105   ObjectFiles            = $(CFiles:%.c=        $(PackageTargetDir)/%.o)\
106                           $(CppFiles:%.cpp=    $(PackageTargetDir)/%.o)\
107                           $(FortranFiles:%.f=  $(PackageTargetDir)/%.o)\
108 <                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)
108 >                         $(F90Files:%.F90=    $(PackageTargetDir)/%.o)\
109 >                         $(LexFiles:%.l=      $(PackageTargetDir)/%.o)\
110 >                         $(YaccFiles:%.y=     $(PackageTargetDir)/%.o)
111 >
112 > DerivedSource          = $(YaccFiles:%.y=    %.h) \
113 >                         $(YaccFiles:%.y=    %.c) \
114 >                         $(LexFiles:%.l=     %.c)
115 >
116 > DerivedCFiles          = $(YaccFiles:%.y=    %.c) \
117 >                         $(LexFiles:%.l=     %.c)
118 >
119   OtherTargetFiles       = $(OtherSourceFiles:%=$(PackageTargetDir)/%)
120  
121   ThirdPartyJarsTmp = $(patsubst %,$(LibDir)/%,$(JavaLibraries))
# Line 135 | Line 150 | Copy                   = cp
150   #
151   #---------------------------------------------------------------------------
152   Print                  = @echo
153 + Move                   = mv
154   Copy                   = cp
155 < CCompiler              = gcc
156 < CppCompiler            = gcc
157 < Linker                 = gcc
155 > CCompiler              = icc
156 > CppCompiler            = icpc
157 > Linker                 = icpc
158   MakeDepend             = makedepend
159   MakeDir                = mkdir -p
160   Delete                 = rm -fr
161   StaticArchiver         = ar
162 < DynamicArchiver        = gcc
163 < FortranCompiler        = f77
164 < F90Compiler            = f90
162 > DynamicArchiver        = icc
163 > FortranCompiler        = ifort
164 > F90Compiler            = ifort
165   JavaCompiler           = $(JAVA_HOME)/bin/javac
166   JavaArchiver           = $(JAVA_HOME)/bin/jar
167   JarSigner              = $(JAVA_HOME)/bin/jarsigner
# Line 156 | Line 172 | List                   = cat
172   Purify                 = purify
173   WordCount              = wc
174   List                   = cat
175 + Yacc                   = bison -y
176 + Lex                    = flex
177  
178 +
179   MakeOptions            = -k -s
180   MakeDependOptions      =
181   StaticArchiverOptions  = rc
# Line 166 | Line 185 | F90Options             =  -I$(SourceDir)
185   RmiOptions             = -d $(TargetDir) -classpath $(ClassPath) \
186                           -sourcepath $(SourceDir)
187   FortranOptions         =
188 < F90Options             =  -I$(SourceDir)
188 > F90Options             =  -I$(SourceDir) -module $(TargetDir)
189   JavaCompilerOptions    = -d $(TargetDir) -classpath $(ClassPath) \
190                           -sourcepath $(SourceDir) -deprecation
191   JavaRunOptions         = -classpath $(ClassPath)
# Line 205 | Line 224 | $(PackageTargetDir)/%.o : $(PackageTargetDir) $(Packag
224          $(MakeDir) $@
225  
226   # .c -> .o
227 < $(PackageTargetDir)/%.o : $(PackageTargetDir) $(PackageSourceDir)/%.c
227 > $(PackageTargetDir)/%.o : $(PackageSourceDir)/%.c
228          $(Print) $@
229          @$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@
230  
# Line 252 | Line 271 | $(PackageSourceDir)/%.h : $(PackageTargetDir)/%.class
271   %.h : %.class
272          $(MAKE) $(MakeOptions) $(PackageSourceDir)/$@
273  
274 + #.y -> .h
275 + $(PackageSourceDir)/%.h : $(PackageSourceDir)/%.y
276 +        $(Print) $@
277 +        $(Print) @$(Yacc) -d $?
278 +        @$(Yacc) -d  $?
279 +        @$(Move) y.tab.h $*.h
280 +        @$(Delete) y.tab.c
281 +
282 + #.y -> .c
283 + $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.y
284 +        $(Print) $@
285 +        $(Print) @$(Yacc) -d $?
286 +        @$(Yacc) -d  $?
287 +        @$(Move) y.tab.c $*.c
288 +        @$(Delete) y.tab.h
289 +
290 + # .l -> .c
291 + $(PackageSourceDir)/%.c : $(PackageSourceDir)/%.l
292 +        $(Print) $@
293 +        $(Print) @$(Lex) -o$@ $?
294 +        @$(Lex) -o$@ $?
295 +
296   # .o -> .a
297   $(LibDir)/%.a : $(ObjectFiles)
298          $(Print) $@
# Line 349 | Line 390 | $(DependencyFile) :
390  
391   _dependall : $(DependencyFile)
392  
393 < $(DependencyFile) :
394 <        $(Print) $@
395 <        @cd $(PackageSourceDir); \
396 <        $(MakeDepend) $(MakeDependOptions) -f- -p$(PackageTargetDir)/ \
397 <        $(IncludePath) $(Source) > $(DependencyFile)
393 > $(DependencyFile) : $(DerivedSource)
394 >        $(Print) $@
395 >        $(Print) $(DerivedSource)
396 >        @cd $(PackageSourceDir)
397 >        $(CppCompiler) $(IncludePath) -MM $(CppFiles)  > Make.temp
398 >        $(CCompiler)   $(IncludePath) -MM $(CFiles) $(DerivedCFiles)   >> Make.temp
399 >        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/obj\/&/g' >> $(DependencyFile)
400 >        cat Make.temp | sed 's/^[a-zA-Z0-9]/$$\(DEV_ROOT\)\/MPIobj\/&/g' >> $(DependencyFile)
401 >        #$(DEV_ROOT)/scripts/sfmakedepend -I $(DEV_ROOT)/src -d $(DEV_ROOT)/obj -f ./Make.ftemp -h *.F90
402 >        #$(DEV_ROOT)/scripts/sfmakedepend -I $(DEV_ROOT)/src -d $(DEV_ROOT)/MPIobj -f ./Make.ftemp -h *.F90
403 >        #cat Make.ftemp >> $(DependencyFile)
404 >        $(Delete) Make.temp Make.ftemp
405  
406   # make lib
407   lib    : $(PackageListLoop)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines