Как добавить параметры в команду `make`?

Я пытаюсь добавить опции в команду make. Например, добавить опцию -l, чтобы включить библиотеки. Что-то вроде clang filename.c -o filename - clang filename.c -o filename -l{libary}

Что мне делать и какой файл мне редактировать?

1
задан 20 December 2017 в 16:43

4 ответа

Я использовал export LDLIBS='-l' в моем файле .bashrc.

0
ответ дан 20 December 2017 в 16:43

Поскольку у вас нет Makefile, компиляция и компоновка вашей программы основаны на неявных правилах, встроенных в make. В случае исходного кода на C неявное правило для Связывание одного объектного файла :

$(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS) 

Таким образом, вы можете добавлять библиотеки через переменную LDLIBS, например

make LDLIBS='-lfoo'

или

LDLIBS='-lfoo' make

См. GNU make: 10.2 Каталог встроенных правил

4
ответ дан 20 December 2017 в 16:43

Если я вас правильно понял, самое простое - создать псевдоним в вашем .bashrc или .zshrc или в любой используемой вами оболочке.

Я бы не советовал вам редактировать что-то еще.

Но вы можете посмотреть, где вы найдете программу, некоторые программы представляют собой сценарии, написанные, например, на Perl, и могут быть отредактированы по вашему желанию.

0
ответ дан 20 December 2017 в 16:43

Согласно Федорки, псевдоним не может принимать параметр. Следовательно, вы должны создать функцию в ~/.bashrc.

acp ()
{
clang "$1".c -o "$1" -l
}

Выполнить с

acp "filename"

Говорят, что важно использовать двойные кавычки, чтобы избежать получения только первого параметра, то есть, если в имени файла есть пробел.

Обратите внимание, что я не проверял это.

Ссылка: Ввод пользователя в Bash Alias?

1
ответ дан 20 December 2017 в 16:43

Другие вопросы по тегам:

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