Articles of makefile

Que signifie «tout» dans un makefile?

J’ai lu des tutoriels concernant les Makefiles mais pour moi, il est encore difficile de savoir ce que représente la cible et ce qu’elle fait. Des idées?

Comment un fichier Makefile peut-il reconstruire automatiquement les fichiers source contenant un fichier d’en-tête modifié? (En C / C ++)

J’ai le makefile suivant que j’utilise pour construire un programme (un kernel, en fait) sur lequel je travaille. C’est à partir de zéro et je suis en train d’apprendre sur le processus, donc ce n’est pas parfait, mais je pense que c’est assez puissant à ce stade pour mon niveau d’expérience en création de fichiers. […]

CFLAGS vs CPPFLAGS

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 inclus avec #include – car #include est une directive de préprocesseur, le préprocesseur (CPPFLAGS) est-il […]

Make: comment continuer après l’échec d’une commande?

La commande $ make all donne des erreurs telles que rm: cannot remove ‘.lambda’: No such file or directory ce type ne s’arrête. Je veux qu’il ignore les erreurs-not-found-errors. Comment puis-je forcer? Makefile all: make clean make .lambda make .lambda_t make .activity make .activity_t_lambda clean: rm .lambda .lambda_t .activity .activity_t_lambda .lambda: awk ‘{printf “%.4f \n”, […]

Comment append des commentaires multi-lignes dans les makefiles

Existe-t-il un moyen de commenter plusieurs lignes dans makefiles comme dans la syntaxe C /* */ ?

Abandonner le makefile si la variable n’est pas définie

Comment pourrais-je interrompre une exécution make / makefile basée sur une variable de makefile non définie / évaluée? Je suis venu avec ceci, mais fonctionne seulement si l’appelant n’exécute pas explicitement une cible (c.-à-d. Exécute make only). ifeq ($(MY_FLAG),) abort: ## This MUST be the first target 🙁 ugly @echo Variable MY_FLAG not set && […]

Règle GNU Makefile générant quelques cibles à partir d’un seul fichier source

Je tente de faire ce qui suit. Il y a 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 de 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 ne signifie pas que les deux cibles seront générées simultanément. C’est […]

Pouvez-vous créer des Makefiles valides sans caractères de tabulation?

target: dependencies command1 command2 Sur mon système (Mac OS X), make semble exiger que les Makefiles aient un caractère de tabulation précédant le contenu de chaque ligne de command ou une erreur de syntaxe. C’est un désagrément lors de la création ou de l’édition de fichiers Makefiles, car mon éditeur est configuré pour être tout-espace-tout-le-temps. […]

Cmake vs faire des exemples de codes?

Je me demandais s’il y avait un exemple de code pour Makefile ( make ) et CMakeLists.txt ( cmake ) qui font la même chose (la seule différence étant que l’un est écrit dans make et l’autre dans cmake ). J’ai essayé de chercher “cmake vs make”, mais je n’ai jamais trouvé de comparaison de […]

Énumérez les objectives / cibles dans GNU make qui contiennent des variables dans leur définition

J’ai un fichier 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 de convaincre gnu make de créer une liste de cibles après avoir élargi ces variables? Je voudrais pouvoir obtenir les cibles pour […]