88 votes

Créer une variable dans un makefile en lisant le contenu d’un autre fichier

Comment puis-je créer une variable à la volée à partir de makefile, dont la valeur serait le contenu entier d'un autre fichier de données.

86voto

Maxim Yegorushkin Points 29380

En supposant que GNU make:

52voto

bb-generation Points 421

Je suppose que vous aimez définir une variable dans votre Makefile sur le contenu d'un autre fichier :

 FILE=test.txt
VARIABLE=`cat $(FILE)`

target:
    echo $(VARIABLE)

30voto

yurimz Points 401

GNU make version 4.2 prend en charge l’opération de lecture de fichiers, donc en ce qui concerne Maxim Egorushkin's grande réponse il y a un moyen facultatif de résoudre ce problème maintenant:

16voto

Pavel Points 1715

`` n’existe pas sous Windows. Solution qui fonctionne pour Linux et Windows:

explication: On dirait que sous Windows, il y a toujours une variable d’environnement définie pour être égale à « Windows_NT ». De cette façon, pour Windows, la commande est utilisée, pour les non-Windows `` est utilisée.

9voto

gatopeich Points 474

Beaucoup plus simple depuis `` a été ajouté:

Page de manuel ici: https://www.gnu.org/software/make/manual/html_node/File-Function.html#index-file_002c-reading-from

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X