mxx_ru - как описать проект?
От: baburin Россия  
Дата: 11.08.06 11:21
Оценка:
Есть вопрос по mxx_ru:
Допустим, у нас есть некоторое количество проектов статических библиотек (некий мега фрэймворк):
aaa.rb
bbb.rb
.
.
zzz.rb

Вот пример проекта mxx_ru aaa.rb:
require 'mxx_ru/cpp'
MxxRu::Cpp::lib_target\
{
    include_path("include")
    target( "aaa" )
    sources_root("src/aaa")\
    {
        cpp_source( "aaa.cpp" )
    }
}

все остальные проекты подобны aaa.rb
Есть некоторый проект исполняемого файла, допустим – main.rb:

require 'mxx_ru/cpp'
MxxRu::Cpp::exe_target{
  target( "main" )
  include_path("include")
  
  required_prj( "aaa.rb" )
  required_prj( "bbb.rb" )
    .
    .
  required_prj( "zzz.rb" )

  cpp_source( "main.cpp" )
}

хотелось бы не указывать все проекты от которых зависит main.rb, а указать только один проект – например all, который включал в себя все проекты нашего мега фрэймворка.
Я делаю так:
файл all.rb:
require 'mxx_ru/cpp'
MxxRu::Cpp::lib_target\
{
    target("all")   
    global_obj_placement( Mxx_ru::Cpp::Runtime_subdir_obj_placement.new( "output" ) )
        required_prj("aaa.rb")
    required_prj("bbb.rb")
    .
    .
    required_prj("zzz.rb")
}

в main.rb:
.
.
required("all.rb")
.
.

Всё работает но, помимо всех библиотек, создается ещё одна, соответственно – liball.a, чего не хотелось бы.
Вопрос — как правильно, описать проект all так, чтобы он собирал все проекты от которых он зависит, чтобы его можно было использовать в проекте main.rb в виде required_prj("all") и чтобы не создавалась liball.a?
... << RSDN@Home 0.0.0 alpha rev. 0>>

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.