[Rake-devel] How to execute before the '.o' => '.f90' tasks?

Assaf Arkin assaf at labnotes.org
Wed Jan 16 14:27:19 EST 2008


On Jan 16, 2008 10:49 AM, Andrew Chen <meihome at gmail.com> wrote:
> Rake experts,
>
> I still have problem to control the exact order of the compilation.
>
> I have a_test.f90, b_test.f90 file.  From those files, I have a
> pre-processor, that will generate:
> fruit_basket.f90, and fruit_driver.f90 files.
>
> The question is, I want make sure the order of compilation is:
> a.f90, b.f90, fruit_basket.f90, and fruit_driver.f90
>
> I used the file tasks:
>   rule '.o' => '.f90' do |t|
>     Rake::Task[:dirs].invoke
>     sh "#{$compiler} -c -o #{t.name} #{t.source} -module #{$build_dir}
> #{lib_name_flag} #{lib_dir_flag}"
>   end

You can add this:

file('fruit_driver.f90'=>'fruit_basket.o')
file('fruit_basket.f90'=>'b.o')
file('b.f90'=>'a.o')

Or do something like this:

task 'compile'=>['a.o', 'b.o', 'fruit_basket.o', 'fruit_driver.o']

-- Assaf
http://labnotes.org

>
> Question:  how do I add the rules that will allow names with certain
> patterns compiled last?
>
> My working files are located here:
> http://fortranxunit.cvs.sourceforge.net/fortranxunit/fruit/sample/test/rakefile
> , and http://fortranxunit.cvs.sourceforge.net/fortranxunit/fruit/rake_base.rb
>
> Thanks
> ~Andrew Chen
>
> _______________________________________________
> Rake-devel mailing list
> Rake-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rake-devel
>


More information about the Rake-devel mailing list