Domanda

Vorrei applicare GIMPEL PC-Lint al mio codice sorgente in modo incrementale usando Make. Voglio che esegui la lanugine solo sul file di origine se il file di origine è cambiato dall'ultima volta che è stata eseguita la lancia. Qualcuno lo fa? Come ti stai avvicinando?

È stato utile?

Soluzione

Il modello comune è creare output (o creare output artificiale se non ce n'è).

Modificare notare che $(LINT) $< > $@ si espanderà in qualcosa di simile lint test.cpp > test.lint (reindirizzamento dell'output in quel file)

Per esempio

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

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

o per un processo senza output:

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

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

Altri suggerimenti

È possibile aggiungere la compilation di lanugine alle regole di compilazione ogni volta che viene chiamato GCC (o qualsiasi altra cosa). Ciò richiederebbe immediatamente qualsiasi problema con il codice prima di testare o utilizzarlo. D'altra parte, questo sarebbe troppo lento su un progetto più ampio.

Di solito sto fiancheggiando i miei progetti prima di controllarli. Così ho realizzato una piccola sceneggiatura in cui sto perducendo tutto ciò che è stato verificato. Se si dispone di una piattaforma delicata (ad esempio SVN su un server adatto), questo potrebbe anche essere fatto dal server, quindi gli utenti potrebbero lavorare senza dover aspettare che la lancio finisca.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top