Question

Je voudrais appliquer Gimpel PC-Lint à mon code source de manière incrémentielle en utilisant Make.Je veux qu'il n'exécute lint que sur le fichier source si le fichier source a changé depuis la dernière exécution de lint.Quelqu'un fait-il ça?Comment l'abordez-vous?

Était-ce utile?

La solution

Le modèle courant consiste à créer une sortie (ou à créer une sortie artificielle s'il n'y en a pas).

Modifier notez que $(LINT) $< > $@ se développera en quelque chose comme lint test.cpp > test.lint (redirigeant la sortie vers ce fichier)

Par exemple

 %.o: %.cpp | %.lint
      S(CC) -o $@ $(CPPFLAGS) $<

 %.lint: %.cpp
      $(LINT) $< > $@

ou pour un processus sans sortie:

 %.o: %.cpp | %.emailsent
      S(CC) -o $@ $(CPPFLAGS) $<

 %.emailsent: %.cpp
      $(DOEMAIL) $^   # no output from mail sender
      touch $@        # won't be reached DOEMAIL returned error

Autres conseils

Vous pouvez ajouter la compilation lint à vos règles de compilation chaque fois que gcc (ou autre) est appelé.Cela soulèverait immédiatement tout problème avec le code avant de le tester ou de l'utiliser.D'un autre côté, ce serait beaucoup trop lent sur un projet plus important.

Je peluche généralement mes projets avant de les archiver. J'ai donc créé un petit script dans lequel je peluche tout ce qui a été extrait.Si vous avez une plate-forme douce (par exemple svn sur un serveur approprié), cela pourrait même être fait par le serveur afin que les utilisateurs puissent travailler sans avoir à attendre la fin de la charpie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top