Pregunta Cómo definir varias rutas include en Makefile


Nuevo en C ++; Comprensión básica de inclusiones, bibliotecas y el proceso de compilación. Hizo algunos makefiles simples todavía.

Mi proyecto actual implica el uso de una API API DB y necesito incluir archivos de encabezado en más de un directorio no estándar. ¿Cómo escribir eso? Havent encontró algo en la red, probablemente porque no usé buenos términos de búsqueda

Esta es una forma de lo que probé (no funciona). Solo para mostrar el archivo MAKE

LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public

default:    main

main:   test.cpp
        gcc -Wall $(LIB) $(INC) -c test.cpp
        #gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp

clean:
        rm -r test.o make.out

74
2017-11-09 14:28


origen


Respuestas:


Tienes que anteponer todos los directorios -I:

INC=-I/usr/informix/incl/c++ -I/opt/informix/incl/public

83
2017-11-09 14:31



Tienes que usar -I con cada directorio. Pero aún puede delimitar los directorios con espacios en blanco si usa make (GNU) make's foreach:

INC=$(DIR1) $(DIR2) ...
INC_PARAMS=$(foreach d, $(INC), -I$d)

65
2017-11-09 14:37