Eclipse неправильно вызывает суб-make-файлы

0

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

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

.PHONY: test
test:
    echo "test"

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

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

Когда я звоню из Clean project 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: ответ на jimmy

Это могут быть дополнительные подсказки.

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
    Я бы посмотрел ваши пути к файлам и каталогам. Может случиться так, что затмение скопировало некоторые файлы (как это иногда бывает), когда вы экспортировали свой проект, и ваши make-файлы теперь ссылаются на неправильную копию.
  • 0
    @jimmy, см. мое редактирование. Любая идея, на какие файлы я должен смотреть («скопировал некоторые файлы»)?
Показать ещё 2 комментария
Теги:
makefile
arm

1 ответ

0

Заменены

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

с

make -C CppAudioPeriphs test

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню