crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Помогите написать Makefile, с обработкой группы файлов
DTF
  опции профиля:
сообщение 19.12.2010, 23:23
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 25.10.2010
Пользователь №: 2149

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте.

Есть проект на C++, в папке проекта есть каталоги cpp и h, в которых хранятся
cpp- и h-файла соответственно.

При сборке должен создаваться каталог obj, куда будут сохраняться объектные файлы,
причем для каждого cpp-файла соответствующий объектный файл должен иметь такое же имя
(ну, не считая изменившегося расширения).

Т.е. для файла cpp/file.cpp должен создаваться объектный файл obj/file.obj.

Проблема в том, что, например, майкросовтовский cl.exe не имеет возможности (по крайней мере, я не нашел)
записывать все получающиеся временные файлы в указанную директорию.
Ему нужно для каждого входного файла указать точное имя выходного.

Конечно, можно для каждого файла сделать отдельное правило сборки, но это неудобно, конечно же.
Написать bat-файл для сборки, который для каждого файла сформирует соответствующую команду тоже можно,
но и этот вариант мне не нравится :)


Поэтому прошу совета :)

P.S.
Это вопрос для самообразования, в реальной жизни он вряд ли будет использоваться в таком виде,
так что не нужно спрашивать "зачем тебе это надо?".

P.P.S.
если кто-нибудь расскажет, как решить эту задачу средствами CMake, то тоже буду очень благодарен,
т.к. с этой системой сборки практически не знаком.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.12.2010, 0:14
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(DTF @ 20.12.2010, 1:23) *
Проблема в том, что, например, майкросовтовский cl.exe не имеет возможности (по крайней мере, я не нашел)
записывать все получающиеся временные файлы в указанную директорию.
Ему нужно для каждого входного файла указать точное имя выходного.

среда разработки не указана, но если это студия, то там можно указать, что выполнить до и после компиляции. Это может быть как набор консольных команд, так и просто батник
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.12.2010, 19:04
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


DTF, почитай о потрахах make-файла тут. Там же и ссылки есть на полезные статьи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 17:32