Un makefile est un fichier d'entrée pour le langage / outil de contrôle de construction make. Il spécifie les cibles et les dépendances ainsi que les commandes associées à exécuter (alias recettes) pour mettre à jour les cibles.
Comment puis-je vérifier si un programme peut être appelé à partir d'un Makefile? (Autrement dit, le programme doit exister dans le chemin ou être appelable d'une autre manière.) Il pourrait être utilisé pour vérifier pour quel compilateur est installé, par exemple. Par exemple, quelque chose comme cette question , mais …
target: dependencies command1 command2 Sur mon système (Mac OS X), makesemble exiger que les Makefiles aient un caractère de tabulation précédant le contenu de chaque commandligne, ou cela lève une erreur de syntaxe. C'est un inconvénient lors de la création ou de l'édition de Makefiles car mon éditeur est configuré …
Y a-t-il des différences dans l'appel de variables avec la syntaxe ${var}et $(var)? Par exemple, dans la manière dont la variable sera développée ou quoi que ce soit?
J'ai besoin de générer un répertoire dans mon makefile et je voudrais ne pas obtenir le "répertoire existe déjà une erreur" encore et encore, même si je peux facilement l'ignorer. J'utilise principalement mingw / msys mais j'aimerais aussi quelque chose qui fonctionne avec d'autres shells / systèmes. J'ai essayé ça …
Comment passer l'argument à Makefile à partir de la ligne de commande? Je comprends que je peux faire $ make action VAR="value" $ value avec Makefile VAR = "default" action: @echo $(VAR) Comment obtenir le comportement suivant? $ make action value value ? Que diriez-vous $make action value1 value2 value1 …
Je passe généralement des définitions de macro de "make command line" à un "makefile" en utilisant l'option: -Dname = value. La définition est accessible dans le makefile. Je passe également des définitions de macro du "makefile" au "code source" en utilisant l'option de compilation similaire: -Dname = valeur (prise en …
J'essaye de faire ce qui suit. Il existe un programme, appelez-le foo-bin, qui prend un seul fichier d'entrée et génère deux fichiers de sortie. Une règle Makefile stupide pour cela serait: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Cependant, cela n'indique makeen aucun cas que les deux cibles seront générées …
Je comprends que CFLAGS (ou CXXFLAGS pour C ++) sont pour le compilateur, alors que CPPFLAGS est utilisé par le préprocesseur. Mais je ne comprends toujours pas la différence. J'ai besoin de spécifier un chemin d'inclusion pour un fichier d'en-tête qui est inclus avec #include - parce que #include est …
Je suis un tout nouveau makefiles et je veux créer des répertoires en utilisant makefile. Mon répertoire de projet est comme ça +--Project +--output +--source +Testfile.cpp +Makefile Je veux mettre tous les objets et la sortie dans le dossier de sortie respectif. Je veux créer une structure de dossier qui …
J'ai un makefile assez grand qui crée un certain nombre de cibles à la volée en calculant les noms à partir de variables. (par exemple foo $ (VAR): $ (PREREQS)). Est-il possible que gnu make puisse être convaincu de cracher une liste de cibles après avoir étendu ces variables? J'aimerais …
J'essaye d'utiliser le résultat de lsdans d'autres commandes (par exemple echo, rsync): all: <Building, creating some .tgz files - removed for clarity> FILES = $(shell ls) echo $(FILES) Mais j'obtiens: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 Je …
Disons que j'ai un makefile avec la règle %.o: %.c gcc -Wall -Iinclude ... Je veux que * .o soit reconstruit chaque fois qu'un fichier d'en-tête change. Plutôt que d'élaborer une liste de dépendances, à chaque fois qu'un fichier d'en-tête /includechange, tous les objets du répertoire doivent être reconstruits. Je …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.