web-dev-qa-db-fra.com

Comment puis-je ajouter des options à la commande `make`?

J'essaie d'ajouter des options à la commande make. Par exemple, ajouter l'option -l pour inclure les bibliothèques. Quelque chose comme clang filename.c -o filename à clang filename.c -o filename -l{libary}

Que dois-je faire et quel fichier dois-je éditer?

1
Satori

J'ai utilisé export LDLIBS='-l' dans mon fichier .bashrc.

0
Satori

Comme vous n'avez pas de Makefile, la compilation et la liaison de votre programme reposent sur des règles implicites intégrées à make. Dans le cas du code source C, la règle implicite pour Lier un seul fichier objet est la suivante:

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

Vous pouvez donc ajouter des bibliothèques via la variable LDLIBS, par exemple.

make LDLIBS='-lfoo'

ou

LDLIBS='-lfoo' make

Voir Marque GNU: 10.2 Catalogue des règles intégrées

4
steeldriver

Selon fedorqui, un alias ne peut accepter un paramètre. Par conséquent, vous devez créer une fonction dans ~/.bashrc.

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

Exécuter avec

acp "filename"

On dit qu’il est important d’utiliser des guillemets pour éviter d’obtenir le premier paramètre, c’est-à-dire s’il ya un espace dans le nom du fichier.

Notez que je n'ai pas testé cela.

Référence: entrée utilisateur sur alias Bash?

1
afagarap

Si je vous ai bien compris, le plus simple serait de créer un alias dans votre fichier .bashrc ou .zshrc ou tout autre shell que vous utilisez.

Je ne vous recommanderais pas de modifier quelque chose ailleurs.

Mais vous pouvez regarder où vous trouvez le programme, certains programmes sont des scripts, écrits en Perl par exemple, et peuvent être modifiés à votre guise

0
user773600