2017-08-30 3 views
0

Je compile le programme gRPC et que vous voulez changer prefix de « /usr/local » à « /usr « :Comment changer la variable de préfixe pendant la construction de gRPC puisque aucune configuration n'est fournie?

prefix ?= /usr/local 

Je l'ai essayé les deux » prefix=/usr make » et « make prefix=/usr » méthodes, mais malheureusement, ils semblent ne fonctionnent pas . Alors maintenant, je peux comprendre 2 méthodes:

(1) Modifier Makefile directement:

prefix = /usr 

(2) Changement prefix lors de l'installation:

make prefix=/usr install 

Parce qu'il n'y a pas fourni programme configure, Y at-il une méthode pour changer prefix pendant le processus de fabrication?

+0

'make prefix =/usr' est censé fonctionner. Pourquoi ne pas simplement modifier le fichier makefile? – reinierpost

+0

Le changement que vous souhaitez effectuer semble incorrect. '/ usr/include' est pour les en-têtes (fichiers' * .h'), pourquoi les mettre ailleurs? – reinierpost

+0

@reinierpost 'make prefix =/usr' ne fonctionne pas. Et j'ai modifié l'OP pour corriger la faute de frappe. –

Répondre

0

Vous êtes censé fournir la variable "préfixe" lors des étapes "make" et "make install". Donc, la bonne solution est soit de le faire:

export prefix=/usr 
make 
make install 

ou

make prefix=/usr 
make install prefix=/usr 
+0

Seule la deuxième approche fonctionnera. Les variables d'environnement ne remplacent pas les affectations dans le fichier makefile. –

+1

Ce serait vrai, si c'était une affectation normale. Cependant, dans Makefile de gRPC, le préfixe est assigné en utilisant? =, Ce qui signifie assign si cela n'existe pas déjà (à partir de l'environnement ou de tout autre moyen). Exemple: '$ cat Makefile' ' foo = "bar" '' tous : '' @echo "$ (foo)" '' $ foo = commande make' 'override' –