2

Есть makefile одной ОСВР Chibios, который использует систему сборки gnu make. Но при попытке собрать у меня возникает проблема: в списке целей компиляции появляется пустая цель. Makefile достаточно большой и состоит из приличного количества файлов, не знаю, имеет ли смысл добавлять их всех. На всякий случай добавлю основную его часть: ссылка на github

Интересно что проблема появляется на Mac OS. На windows, при той же версии Make все нормально.

UPD: При попытке сборки пишет:

...
Compiling sys_console.c
Compiling
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.
make: *** [build/obj/
] Error 1

Вывод make -n:

...
echo Compiling sys_console.c
arm-none-eabi-gcc -c -mcpu=cortex-m4 ... -I. -I/Users/kamil/Documents/test//ChibiOS-RT/os/ports/common/ARMCMx/CMSIS/include ... /Users/kamil/Documents/test//src/sys_console.c -o build/obj/sys_console.o
**echo Compiling 
arm-none-eabi-gcc -c -mcpu=cortex-m4 ... -I. -I/Users/kamil/Documents/test//ChibiOS-RT/os/ports/common/ARMCMx/CMSIS/include ...  -o build/obj/**
echo Compiling ch.cpp
arm-none-eabi-g++ -c -mcpu=cortex-m4 ... -I. -I/Users/kamil/Documents/test//ChibiOS-RT/os/ports/common/ARMCMx/CMSIS/include ... /Users/kamil/Documents/test//ChibiOS-RT/os/various/cpp_wrappers/ch.cpp -o build/obj/ch.o
...

UPD2: нашел проблему пока писал UPD, что выше) Файл sys_console.с подсоединялся как-то так:

$(SRC_DIR)/src/sys_timer.c \
$(SRC_DIR)/src/sys_console.c \
*конец файла*

Убрав слеш после sys_console.c все собралось. Только почему это не вызывало проблем в окнах, непонятно. Может как-то связано с различиями в окончаниях строки? Может кто объяснить?

  • 2
    Стоит начать поиски с директив, которые вызывают различное поведение на макоси и на окошках. Давайте полный текст тогда. – gbg Jan 16 '16 at 19:49
  • 2
    в списке целей компиляции появляется пустая цель — и сообщение об ошибке приведите, пожалуйста. в идеале — весь лог сборки. – aleksandr barakin Jan 16 '16 at 20:26
  • 1
    знак "" используется для обозначения того что строка не закончена соответственно если он стоит в конце файла значит логично было бы туда что-то поставить (хотябы пустую строку). Почему в окнах проблем небыло - 2 возможных причины: 1) кодировка виндовая/линукс (концы строк); 2) сама утилита скомпилированая под винду может немного по другому работать – jmu Jan 27 '16 at 11:38

0 Answers0