¿Cuál es la mejor manera de establecer banderas de compilación de archivos fuente individuales utilizando GCC y autotools?

StackOverflow https://stackoverflow.com/questions/2220855

Pregunta

Necesito desactivar indicador de optimización para un archivo individual usar autotools. ¿Cuál es la mejor manera de hacerlo?

¿Fue útil?

Solución

¿Se refiere a un archivo de fuente individual o un ejecutable individual?

Para desactivar la optimización de un ejecutable es simple:

bin_PROGRAMS = myprog
myprog_SOURCES = foo.c bar.c
myprog_CFLAGS = -O0

Si usted quiere decir que desea desactivar la optimización para un solo archivo fuente temporalmente , dicen que para fines de depuración, sólo puede rehacer ese archivo en el símbolo: (ejemplo del manual de automake)

rm bar.o
make CFLAGS=-O0 bar.o
make

Para hacerlo para un archivo fuente individual permanente no es tan simple, y probablemente el mejor hecho mediante la creación de una biblioteca de conveniencia:

noinst_LIBRARIES = libnoopt.a
libnoopt_a_SOURCES = bar.c
libnoopt_a_CFLAGS = -O0

bin_PROGRAMS = myprog
myprog_SOURCES = foo.c
myprog_CFLAGS = -O2
myprog_LDADD = libnoopt.a
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top