1
« en: Sábado 27 de Diciembre de 2008, 01:58 »
Hola, soy un neófito en este maravilloso mundo de Linux y tengo un problema con un makefile que estoy haciendo, y puede que sea una chorrada, pero yo me las veo y me las deseo, y por eso me he decidido a preguntar.
Tengo un makefile para compilar unos archivos de una forma u otra según lo que escriba por línea de comandos. Así, si pongo:
make VARIABLE1
se compilan los archivos creando la macro VARIABLE1
CFLAGS += DVARIABLE1
y si pongo:
make VARIABLE2
se compilan los archivos creando la macro VARIABLE2
CFLAGS += DVARIABLE2
De esta forma, el preprocesador de C compilará unas partes de código u otras, ya que en los ficheros fuente tengo definidos varios #ifdef VARIABLE1, #ifdef VARIABLE2,...
El problema viene que cuando compilo una vez, por ejemplo con la opción de la VARIABLE1, al ir a compilar a continuación para la VARIABLE2, no se me recompilan los archivos objeto (.o), porque dependen de los archivos fuente (.c), y como en éstos no ha habido cambio, pues asume que no hay que recompilarlo.
Si hago un clean y vuelvo a compilar, todo solucionado, pero no quería que eso quedara así y quería saber si existe alguna solución. Muchas gracias por adelantado.