Pregunta

Me gustaría aplicar Gimpel PC-Lint a mi código fuente de manera incremental usando Make. Quiero que solo ejecute la pelusa en el archivo fuente si el archivo fuente ha cambiado desde la última vez que se ejecutó la pelusa. ¿Alguien está haciendo esto? ¿Cómo te estás acercando?

¿Fue útil?

Solución

El patrón común es crear salida (o crear salida artificial si no hay ninguno).

Editar tenga en cuenta que $(LINT) $< > $@ se expandirá a algo como lint test.cpp > test.lint (redirigir la salida a ese archivo)

P.ej

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

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

o para un proceso sin salida:

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

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

Otros consejos

Puede agregar la compilación de pelusa a sus reglas de compilación siempre que se llame GCC (o lo que sea). Esto plantearía inmediatamente cualquier problema con el código antes de probarlo o usarlo. Por otro lado, esto sería demasiado lento en un proyecto más grande.

Por lo general, estoy pellizco mis proyectos antes de registrarlos. Por lo tanto, hice un pequeño guión donde pelea todo lo que se ha revisado. Si tiene una plataforma suave (por ejemplo, SVN en un servidor adecuado) esto podría ser realizado por el servidor, por lo que los usuarios podrían trabajar sin tener que esperar a que la pelusa finalice.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top