Je dois désactiver l'indicateur d'optimisation pour un fichier individuel utilisant autotools. Quelle est la meilleure façon de le faire?Quelle est la meilleure façon de définir des indicateurs de compilation pour des fichiers source individuels en utilisant GCC et autotools?
4
A
Répondre
7
Voulez-vous dire un fichier source individuel ou un exécutable individuel?
Pour désactiver l'optimisation pour un exécutable est simple:
bin_PROGRAMS = myprog
myprog_SOURCES = foo.c bar.c
myprog_CFLAGS = -O0
Si vous voulez dire que vous souhaitez désactiver l'optimisation pour un seul fichier source temporairement, par exemple pour des fins de débogage, vous pouvez simplement refaire ce fichier à l'invite: (exemple du manuel automake)
rm bar.o
make CFLAGS=-O0 bar.o
make
pour le faire pour un fichier source individuelle permanente est pas si simple, et probablement mieux fait en créant une bibliothèque de commodité:
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