need help with makefile

P. Aaron Lott palott at ipst.umd.edu
Sat Mar 3 12:32:24 CST 2007


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile_no_petsc
Type: application/octet-stream
Size: 3558 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20070303/e24ec155/attachment.obj>
-------------- next part --------------



-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




More information about the petsc-users mailing list