Структура makefile

Модератор: Модераторы разделов

bahurin
Сообщения: 13
ОС: SUSE

Структура makefile

Сообщение bahurin »

Не могу разобраться со структурой макфайла. Гуглил гуглил ничего путевого не нашел. Использую qt. У меня куча файлов исходных с расчетными функциями классами и т.д. и есть файлы графического интерфейса они лежат в отдельной папке так вот при компиляции все объектные файлы (расчетных функций и гуи) кидаются в корень. Это сильно осложняет процесс разработки программы (да и просто не этетично как то). Я порылся в макфайле и нашел такую строчку:

Код: Выделить всё

####### Output directory

OBJECTS_DIR   = ./

####### Files


я так понял туда надо написать куда создавать объектные файлы. Но как это написать я не разобрался. Если кто знает подскажите или хотябы ссылочку где можно почитать про стркутуру макфайла.
Спасибо сказали:
Аватара пользователя
indie
Сообщения: 87

Re: Структура makefile

Сообщение indie »

Наверное тебе стоит копать в сторону qmake и pro-файлов, ибо скорее всего твой makefile генерит qmake. Удачи!
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Структура makefile

Сообщение Zeus »

bahurin писал(а):
10.03.2008 17:32
Если кто знает подскажите или хотябы ссылочку где можно почитать про стркутуру макфайла.

Там в первом приближении-то ничего сложного нет: объявляются переменные, описываются секции (я их так называю - может формально они как-то по-другому называются), указываются зависимости.

Но используя всё это можно такого наворотить, что не продерёшься.
Т.е. в make-файле сложна не структура (форма), а содержание.
А тут уж читай там что-то - не читай, но если тебе makefile создал какой-нибудь KDeveloper или ещё кто, то разобраться с ним может быть сложно.
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Структура makefile

Сообщение uptime »

bahurin, если вы сами можете менять этот файл, пропишите, например:

Код: Выделить всё

OBJECTS_DIR   = ./obj/

ну и каталог obj в рабочем каталоге создайте, чтобы он туда их кидал.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
bahurin
Сообщения: 13
ОС: SUSE

Re: Структура makefile

Сообщение bahurin »

uptime писал(а):
10.03.2008 19:32
bahurin, если вы сами можете менять этот файл, пропишите, например:

Код: Выделить всё

OBJECTS_DIR   = ./obj/

ну и каталог obj в рабочем каталоге создайте, чтобы он туда их кидал.

Пробовал, все равно в общий каталог грузит :wacko:
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Структура makefile

Сообщение Clear_Mind »

есть файлы графического интерфейса они лежат в отдельной папке

укажите в самой программе относительный путь к этим файлам (например ./ui_files/*.ui)

а вообще Qt Assistant содержит информацию по qmake с примерами
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Структура makefile

Сообщение uptime »

bahurin писал(а):
11.03.2008 07:47
uptime писал(а):
10.03.2008 19:32
bahurin, если вы сами можете менять этот файл, пропишите, например:

Код: Выделить всё

OBJECTS_DIR   = ./obj/

ну и каталог obj в рабочем каталоге создайте, чтобы он туда их кидал.

Пробовал, все равно в общий каталог грузит :wacko:


значит, оно читает какой-то другой файл. (проверяется переименованием)

или эта переменная не используется. Надо пройтись по тексту файла, посмотреть. Синтаксис там интуитивно - понятный (:
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Аватара пользователя
indie
Сообщения: 87

Re: Структура makefile

Сообщение indie »

uptime писал(а):
11.03.2008 16:52
bahurin писал(а):
11.03.2008 07:47
uptime писал(а):
10.03.2008 19:32
bahurin, если вы сами можете менять этот файл, пропишите, например:

Код: Выделить всё

OBJECTS_DIR   = ./obj/

ну и каталог obj в рабочем каталоге создайте, чтобы он туда их кидал.

Пробовал, все равно в общий каталог грузит :wacko:


значит, оно читает какой-то другой файл. (проверяется переименованием)

или эта переменная не используется. Надо пройтись по тексту файла, посмотреть. Синтаксис там интуитивно - понятный (:

Если Makefile генерировал qmake, то когда Вы его меняете, make сам себе регенерирует (путем qmake). Измените Makefile и наберите make, скорее всего 1-я (или 2-я) строка вывода будет начинаться с qmake.....
Спасибо сказали: