1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Вопрос по makefile

Тема в разделе "Hard & Soft", создана пользователем [no]name, 13 май 2008.

  1. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    Совершенно тупой вопрос: как объяснить в makefile, что скомпилированные объекты надо складывать в другую директорию, а не в ту, из которой происходит запрос на компиляцию? Например, есть директория Project, в которой лежит makefile. У неё есть поддиректория src. Скомпилированные объекты нужно сложить в директорию obj, а исполняемый файл в Project.

    Рылся в руководстве, но так ничего и не нашёл. Понимаю, что как-то тривиально должно делаться, но до меня не доходит. Если имеет значение, используется MinGW.
     
  2. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Да никак. Можешь тупо дать -o %путь% линкеру и компайлеру чтобы они клали куда надо либо тупо переместить после компиляции *.obj...
     
    [no]name нравится это.
  3. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    Точно никак? Мне просто видится, что уж больно муторно было бы компилировать большие проекты вроде MAME, чтобы все объекты потом в нужные директории ложились, которых там штук 100, ни меньше.
     
  4. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    [no]name, а там не один makefile, а в каждой директории свой, и выполняются они из главного Makefile. И всё это создаётся, как правило, посредством configure-скрипта.
     
  5. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    MisterGrim, иными словами, если я тоже хочу в другие директории помещать, то мне нужно два make файла (один в Project, другой в src)? Первый, соответственно, должен вызывать второй, а в конце первый должен уже из готовых объектов создавать финальный исполняемый файл?
     
  6. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ну-у, можно и таким образом... Только не проще ли тогда уж в конец makefile вставить
    mv src/*.o obj/
    cd obj
    <команда сборки>

    (очень приблизительный пример)? У тебя ведь не 100 директорий. А вообще, лучше поглядеть на какой-нибудь готовый проект (но желательно попроще чем MAME :))
     
    [no]name нравится это.
  7. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    MisterGrim, конечно проще так. Это тоже самое, что Фримен предложил. Мне было интересно, как в серьёзных проектах делают.
     
  8. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    [no]name, там вообще-то тупо рекурсия средствами make.

    Ну а коли у тебя мозг не очень присутствует - тебе ссылки на src того же сквида дать посмотреть? :)
     
  9. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    John Freeman, а в чём смысл вашего самоутверждения за счёт профанов? В конце концов я просто хочу понять для себя, а не этим на хлеб зарабатывать.
     
  10. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    А в серьёзных проектах – obj-файлы кладутся в ту же директорию, что и *.c/*.cpp. Вот сейчас посмотрел SDL – там точно так же.
     
  11. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Да потому что любой человек(не американец кстати :) ) который хочет посмотреть и почитать про Makefile будет сначала читать man make , а потом смотреть примеры, а не спрашивать абстрактную дурь. У тех кто это делал такие вопросы не возникают.
     
  12. [no]name

    [no]name

    Регистрация:
    5 июн 2005
    Сообщения:
    2.629
    John Freeman, убедили.
     
  13. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    тут только [no]name может вопросы задавать или мне тож можно?
    что такое ccdv.exe? и можно ли ЭТО чем-нибудь заменить? Встретилось в Makefile.Mingw :blush:
     
  14. Scorp Никто и звать меня никак

    Scorp

    Регистрация:
    21 апр 2005
    Сообщения:
    2.955
    Nil нравится это.
  15. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    Исходники версии 0.1. Ладно, проверю. Сам искал по "ccdv.exe"
     
  16. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    Эх... не собирается, пишет, заголовков не хватает. из 'sys\wait.h' Это я один такой :huh: Может, кому не лень компильнуть?
     
  17. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    Блин, ещё один дурак. ЧТО ты собираешь и ЧЕМ говорить надо СНАЧАЛА, а вопросы уже потом.
     
  18. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    ccdv собираю(точнее компилирую) Mingw32-gcc. Просто опыта мало.
     
  19. John Freeman

    John Freeman

    Регистрация:
    13 май 2004
    Сообщения:
    14.241
    А ты вообще уверен что оно под порты win32 соберётся? И уж если соберётся - 100% не под mingw , оно не для этого. Нужен полный набор из cygwin например.
     
  20. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    John Freeman, судя из того, что используются фряшные заголовки - не уверен. Да мне говорили, что это под Mingw не собирается, нужен MSVC. Попытка - не пытка. А ccdv - не знаю что это. Вот по ссылке выше скачал один *.c файл, который не собирается по причине нехватки заголовков.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление