¿Cuál es la mejor manera de establecer banderas de compilación de archivos fuente individuales utilizando GCC y autotools?
Pregunta
Necesito desactivar indicador de optimización para un archivo individual usar autotools. ¿Cuál es la mejor manera de hacerlo?
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