2011-12-09 3 views
0

Я создал проект Autotools и в Makefile.am у меня есть:Automake генерируется Makefile уже компилировать команды закомментирована

bin_PROGRAMS = myBin 
myBin_SOURCES = src/main.cpp 

Сформированный Makefile имеет эту цель:

.cpp.o: 
# $(CXXCOMPILE) -MT [email protected] -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o [email protected] $< 
# $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po 
    source='$<' object='[email protected]' libtool=no \ 
    DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ 
    $(CXXCOMPILE) -c -o [email protected] $< 

Как вы можете видеть, фактический вызов компилятора закомментирован. Зачем?

+0

UPDATE: если я запустил ./configure с отслеживанием зависимостей --disable, он строит отлично. – n00

+2

Последняя строка вашего фрагмента - это вызов компилятора, и он не закомментирован! Комментарии есть в зависимости от того, вы или нет вызываете с отслеживанием -disable-dependency, чтобы выполнялся только один вызов компилятора. –

+0

Последние три строки ar просто переменные назначения. Посмотрите на косые черты в конце строк 4 и 5. – n00

ответ

2

В зависимости от того, какое отслеживание зависимостей обнаружено/запрошено на этапе configure, различные части команды компиляции будут закомментированы. Подстановка # в Makefile в стратегических местах - это то, как automake реализует условные обозначения. Попробуйте найти оригинальные строки в Makefile.in и посмотрите.

 Смежные вопросы

  • Нет связанных вопросов^_^