web-dev-qa-db-fra.com

fait-il "faire" recompiler tous les fichiers ou juste ceux modifiés

supposons que vous avez un programme que vous avez installé à partir de la source avec la commande make. Ce programme inclut des fichiers a.cc, b.cc, c.cc, d.cc et .. .

Maintenant, j'ai changé a.cc un peu. Afin de permettre les changements, je devrais compiler le programme à nouveau avec la commande make.

Ma question: Est-ce que la commande make recompile simplement les fichiers modifiés ou recompile tous les fichiers.

ps: tous les fichiers sont définis en tant que .o sur le Makefile.

3

De manière générale, il n'est pas nécessaire de recompiler tous les fichiers .cc en fonction de la modification d'un fichier .cc.

Le fichier a .cc est associé à un autre .cc à l'aide du fichier .h.

Par exemple:

Supposons que b.h est un en-tête à propos de b.cc.

Et a.cc utilise b.h.

Vous n'avez pas besoin de recompiler a.cc en raison de modify et compilez b.cc.

Mais vous devez recompiler à propos de b.h.

Si la variable makefile est également créée (sur la base de autotools), la commande make traitera également les dépendances.

1
xiaodongjie