Linux: un échantillon makefile

Sous Linux, vous pouvez écrire un makefile facilement si vous utilisez les variables prédéfinies de GNU faire et ses règles intégrées. Considérons, par exemple, un makefile qui crée l'exécutable xdraw à partir de trois fichiers sources C (xdraw.c, xviewobj.c, et shapes.c) Et deux fichiers d'en-tête (xdraw.h et shapes.h).

Supposons que chaque fichier source comprend l'un des fichiers d'en-tête. Compte tenu de ces faits, voici ce que un échantillon makefile peut ressembler à:




################################################## ######## makefile de l'échantillon # Les commentaires commencent avec '#' ################################# ########################## Utilisez variables standard pour définir compiler et lier flagsCFLAGS = -g -O2 # Définir la cible "tous" tous: xdrawOBJS = xdraw.o xviewobj.o shapes.oxdraw: $ (OBJS) # objet filesxdraw.o: Makefile xdraw.c xdraw.hxviewobj.o: Makefile xviewobj.c xdraw.hshapes.o: Makefile shapes.c shapes.h

Ce makefile repose sur GNU faire's règles implicites. La conversion de .c fichiers à .o fichiers utilise la règle intégrée. Définition de la variable CFLAGS passe les drapeaux pour le compilateur C.

La cible nommé tous est défini comme la première cible pour une raison - si vous exécutez GNU faire sans préciser les cibles dans la ligne de commande, la commande construit la première cible, il trouve dans la makefile.

En définissant la première cible tous comme xdraw, vous pouvez vous assurer que faire construit ce fichier exécutable, même si vous ne spécifiez pas explicitement comme une cible. Programmeurs Unix utilisent traditionnellement tous que le nom de la première cible, mais le nom de la cible est immaterial- ce qui importe est qu'il est la première cible dans le makefile.


» » » » Linux: un échantillon makefile