Escribir información de la versión en el bloque de comentarios

Posible duplicado:
¿Cómo incrusto tags Mercurial en mi código C / C ++?

¿Puedo agregar información de control de versiones de Mercurial al primer bloque de comentarios en los files .c y .h que está rastreando el repository?

Supongo que implicará agregar algo al Makefile, de modo que una línea de comentario en los files fuente se sustituya en cada compilation con la última información de la versión

He llegado a pasar un #define del comstackdor (por ejemplo, gcc -D) y he agregado lo siguiente a mi Makefile:

HGVERSION:= $(shell hg parents --template 'hgid: {node|short}') CFLAGS += -g -Wall -DHGVERSION="\"${HGVERSION}\"" 

pero aunque esto hace que la variable de preprocesador esté disponible para mí, no estoy seguro de que esto ayude a insert text en un bloque de comentarios.

Para más detalles, puedo ver cómo puedo usar HGVERSION para implementar say a -ver flag para que el exe imprima su información de versión, pero no puedo ver cómo get esa información en el text real de los files fuente

Para más detalles, puedo ver cómo podría usar HGVERSION para implementar algún tipo de información de versión de progtwig, por ejemplo, imprimiendo la versión cuando ejecuto el exe con una bandera -ver o algo así, pero no cómo puedo get esa información en la fuente real file de text de alguna manera

Me gustaría terminar con algo como esto en la parte superior de cada uno de mis files src:

 /* some comments * * version xyz */ 

¿Estoy en el path correcto o se requiere alguna otra técnica aquí?

Se puede hacer con un simple script de sed o awk .
Comience cada uno de sus files con algo distintivo, como:

 /* * MERCURIAL VERSIONS HERE: */ 

Luego, escriba un script, que agregaría * version $HGVERSION justo después de esta línea.
El siguiente script awk debería hacerlo:

 awk -vHGVER=$HGVERSION '{print $0} /^ \* MERCURIAL VERSIONS HERE:$/ { print ' * ' HGVER}' 

¿Cuándo lo ejecutas?
Si lo agrega al file MAKE, se ejecutará cada vez que compile. Puede estar bien, si agrega un código para evitar agregar la misma versión dos veces ( grep -v ... && awk ... ).