Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать, какой Makefile содержит команду 
V
    Опции темы
leniviy
Дата 6.6.2012, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Есть проект со сложной структурой сборки. Мейкфайлы инклюдят другие мейкфайлы.

Для получения rap_db.o из rap_db.pc вызывается команда:
Код

make: Making preprocessed rap_db.c ...
/export/home/testora/product/10.2.0/Db_1/bin/proc sqlcheck=full code=ansi parse=full ... userid=ppbch9/ppbch9@PPB2 rap_db.pc
gcc ...  -c rap_db.c -o rap_db.o
make: removing rap_db.c


По идее она должна получаться из
Код

    $(PROC) $(ALL_PROCFLAGS) $<


Я нашел места, где объявляется
Код

PROC            = $(ORACLE_HOME)/bin/proc

Но никак не мог найти место, где используется $(PROC) или строку "Making preprocessed"

Я запускал make с опцией -d
Код

Considering target file `rap_db.o'.
 File `rap_db.o' does not exist.
...
 Trying implicit prerequisite `rap_db.pc'.
 Found an implicit rule for `rap_db.o'.

Не очень информативно.



Это сообщение отредактировал(а) leniviy - 6.6.2012, 12:11
PM MAIL   Вверх
xvr
Дата 7.6.2012, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Попробуйте опцию -n

PM MAIL   Вверх
leniviy
Дата 8.6.2012, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



с опциями -n -p получилось достать список всех вложенных мейкфайлов.

С ними он выводит строку вида:
Код

# makefile (from `../../PPB_ROOT/ppb-team.mk', line 148)


пропустил через sed:
Код

make -n -p rap_db.o | sed -e 's/^\(# makefile (from `\)\(.*\)\(., line .*\)/\2/;t;D' | sort -u


Код

../../PPB_ROOT/ppb-team-sparc-sun-solaris2.3-gcc.mk
../../PPB_ROOT/ppb-team-sparc-sun-solaris2.3.mk
../../PPB_ROOT/ppb-team.mk
.sniffdir/dependencies.incl
.sniffdir/macros.incl
.sniffdir/sparc-sun-solaris2.3.incl
/home/tester/.ilya/opt/SNiFF-3.2.1/make_support/general.c.mk
/home/tester/.ilya/opt/SNiFF-3.2.1/make_support/general.link.mk
/home/tester/.ilya/opt/SNiFF-3.2.1/make_support/general.mk
/home/tester/.ilya/opt/SNiFF-3.2.1/make_support/sparc-sun-solaris2.3.mk
Makefile


Оказалось, что команда была во внешнем файле

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.