2015-01-09 2 views
0

Я пытаюсь реорганизовать один проект makefile в иерархическую структуру. Проект импортируется в Eclipse как «Внешний проект C/C++ с makefile».Eclipse правильно не отвечает на подфайлы

Новая папка с отдельной Makefile содержит исходные файлы и Makefile со следующим рецептом:

.PHONY: test 
test: 
    echo "test" 

Верхний каталог содержит верхний уровень Makefile со следующим рецептом:

clean: 
    @ echo ...cleaning 
    cd CppAudioPeriphs && make test 
    rm -f $(OBJECTS) $(NAME).lst $(NAME).elf $(NAME).bin $(NAME).s19 $(NAME).map $(NAME).dmp 

Когда я звоню из Eclipse Clean project, последняя строка из последнего списка явно завершается правильно. Тем не менее, линия, прося, чтобы перейти к поддиректории и выполнять make clean возвращается со следующим сообщением:

make[1]: `build/PeriphPhysical.o' is up to date. 

Это первый объектный файл объявлен, и сообщение одно и то же, даже если рецепт test не существует ,

С другой стороны, из командной строки все работает. Id est open cmd.exe, перейдите в папку проекта, введите make clean -> выполняется команда «echo test».

Я использую gcc и binutils, скомпилированные для Windows, для кросс-компиляции для оружия. Где могла быть моя проблема.


EDIT: ответ на отмычка

Это могут быть дополнительные ключи.

1) Если я заменяю

cd CppAudioPeriphs && "make test" 

с

cd CppAudioPeriphs && C:\arm_tools\tools\bin\make.exe test 

, результат:

/usr/bin/sh: C:arm_toolstoolsbinmake.exe: command not found 

Если я изменяю косой черты в прямую косую черту, старое сообщение из ` `build/PeriphPhysical.o 'обновляется.' возвращается в

+1

Я бы посмотрел ваши пути к файлам и каталогам. Возможно, что eclipse скопировал некоторые файлы (как это иногда бывает) при экспорте вашего проекта, и ваши файлы make теперь ссылаются на неправильную копию. – jimmy

+0

@jimmy, см. Мое редактирование. Любая идея, какие файлы я должен искать («скопировал некоторые файлы»)? – Vorac

+0

Хмм, [это] (http://stackoverflow.com/a/4909512/1145760) может быть связано с моей проблемой. Я попытаюсь добавить еще несколько абсолютных путей. – Vorac

ответ

0

Заменено

cd CppAudioPeriphs && C:\arm_tools\tools\bin\make.exe test 

с

make -C CppAudioPeriphs test 

как обходной путь, и теперь все компилирует.