Как используется rbash?

make обычно использует переменные для этого; в частности:

  • CC указывает компилятор C для использования;
  • CFLAGS указывает флаги компилятора C для передачи компилятору;
  • LDLIBS указывает библиотеки для добавления (хотя в целом вы должны написать Makefile, который определяет всё, что вашей программе нужно для сборки, что обычно включает библиотеки).

Таким образом, вы должны выполнить

make CFLAGS="-ggdb3 -O0 -std=c99 -Wall -Werror" LDLIBS="-lm" x

to get

cc -ggdb3 -O0 -std=c99 -Wall -Werror x.c -lm -o x

и

make CC="clang" CFLAGS="-ggdb3 -O0 -std=c99 -Wall -Werror" LDLIBS="-lm" x

to get

clang -ggdb3 -O0 -std=c99 -Wall -Werror x.c -lm -o x

Вы также можете установить переменные в вашем окружении (что позволяет установить значения по умолчанию в сценариях запуска оболочки):

export CFLAGS="-ggdb3 -O0 -std=c99 -Wall -Werror"
make LDLIBS="-lm" x

Учитывая отсутствие Makefile в вашем случае, вы, вероятно, найдете How does this Makefile makes C program without even specified a compiler? интересным! Также пригодится Руководство по GNU Make.

1
13.06.2016, 18:05
0 ответов

Теги

Похожие вопросы