need help with makefile

P. Aaron Lott palott at ipst.umd.edu
Sat Mar 3 14:33:27 CST 2007


Hi Paul & Satish,

This order works. Thank you so much for your help. I really  
appreciate it.

-Aaron




On Mar 3, 2007, at 2:43 PM, Paul T. Bauman wrote:

> Aaron,
>
> Don't want to be rude and interject, but I looked at the unsteady.F  
> file - I've always had trouble compiling when 'use statements' come  
> after variable declarations.  Give a try putting things in this order:
>
> program
>
> use modules
>
> implicit none
>
> include statements
>
> variable declarations
>
> code
>
> end program
>
> This always works for me, not matter what compiler.  Also, since  
> you've named the file .F, you MUST have -qfree (or the correct  
> statement, intel compilers it's -fpp) otherwise you will get errors  
> since, by default, .F will use f77 fixed format and you are using  
> free format, although, now that I think about, some compilers will  
> override if you use mpif90 version, but I've had mixed luck with  
> that.  If you name the files .f90, they will be compiled in free  
> format by default (similar for .F90, but now with pre processing).
>
> Again, just my two cents in trying to help.
>
> Paul
>
> P. Aaron Lott wrote:
>>
>> All of the source files are first compiled using
>>
>> mpif90 -C -g  -qdpc -qautodbl=dbl4 -qinitauto -Wl,-framework - 
>> Wl,vecLib  -c  file.f90
>>
>> On each file, this creates the appropriate .o and .mod files.  
>> Also, these are compiled in order such that if a file B depends on  
>> a module defined in another file A, then A would be compiled before B
>>
>> Then the executable is created by running
>>
>> mpif90 -C -g  -qdpc -qautodbl=dbl4 -qinitauto -Wl,-framework - 
>> Wl,vecLib  -o executable  all_object_files.o
>>
>>
>> I'm attaching the Makefile here
>>
>>
>>
>>
>> -Aaron
>>
>>
>>
>>
>> On Mar 3, 2007, at 12:36 PM, Satish Balay wrote:
>>
>>> What is the command that correctly compiles this file? [from your
>>> original makefile]
>>>
>>> Satish
>>>
>>> On Sat, 3 Mar 2007, P. Aaron Lott wrote:
>>>
>>>>
>>>> Hi Satish,
>>>>
>>>> I tried the order of the use statements and the include, but it  
>>>> didn't seem to
>>>> matter. I really don't know much about make files or the linking  
>>>> process with
>>>> compilers but it seems like the compiler statement
>>>>
>>>> /usr/local/mpich-1.2.5.2/bin/mpif90 -c  -I. -g  __unsteady_ex.F -o
>>>> unsteady_ex.o
>>>>
>>>> is trying to make an object file unsteady_ex.o
>>>>
>>>> However, unsteady_ex.F depends on many other object files before  
>>>> this can be
>>>> compiled. During the make process the first file dealt with is  
>>>> unsteady_ex.F,
>>>> which before using petsc, unsteady_ex.f90 was the last to be  
>>>> compiled. It
>>>> seems like there should be some way to compile the rest of my  
>>>> program first
>>>> and then perform this step at the end.
>>>>
>>>>
>>>> I'm not sure if there's some way to rearrange things in the  
>>>> makefile command
>>>> in order to do this or not. Do you have any ideas?
>>>>
>>>> Thanks,
>>>>
>>>> -Aaron
>>>>
>>>>
>>>>
>>>> $(CMD)  : $(SOBJS)
>>>>     -${FLINKER} $(FLAGS)  -o $(EXENAME) $(SOBJS)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Mar 3, 2007, at 12:07 PM, Satish Balay wrote:
>>>>
>>>>> I can't spot any obvious issues here.. Is it possible that the
>>>>> #include should go after the 'use statements'? [I don't know  
>>>>> enough
>>>>> about f90 issues here]
>>>>>
>>>>> Satish
>>>>>
>>>>> On Sat, 3 Mar 2007, P. Aaron Lott wrote:
>>>>>
>>>>>>
>>>>>> Hi Satish,
>>>>>>
>>>>>> I'm attaching the file to this e-mail.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> -Aaron
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> P. Aaron Lott
>>>> Ph.D. Candidate
>>>> 4239 Computer and Space Sciences Building
>>>> University of Maryland
>>>> College Park, MD 20742-4015
>>>>
>>>> palott at ipst.umd.edu
>>>> http://www.lcv.umd.edu/~palott
>>>> Office: 301.405.4894
>>>> Fax:      301.314.0827
>>>>
>>>>
>>>
>>
>> P. Aaron Lott
>> Ph.D. Candidate
>> 4239 Computer and Space Sciences Building
>> University of Maryland
>> College Park, MD 20742-4015
>>
>> palott at ipst.umd.edu
>> http://www.lcv.umd.edu/~palott
>> Office: 301.405.4894
>> Fax:      301.314.0827
>>
>>
>

P. Aaron Lott
Ph.D. Candidate
4239 Computer and Space Sciences Building
University of Maryland
College Park, MD 20742-4015

palott at ipst.umd.edu
http://www.lcv.umd.edu/~palott
Office: 301.405.4894
Fax:      301.314.0827





More information about the petsc-users mailing list