Buscando ayuda para pasar variables de un nivel al siguiente en un archivo MAKE. Tengo un árbol de fuentes que debe construirse para ejecutarse en varias arquitecturas de destino. Para mantener el makefile de nivel superior limpio, creé makefiles separados que contienen información específica de arquitectura e incluyo solo el que se requiere con la directiva include :)Pasando variables de la directiva include a la subcomposición
Más tarde, en el archivo MAKE, transfiero a otro directorio para compilar los archivos fuente. La construcción falla y veo que la falla es causada por las variables específicas de la arquitectura que no se pasan.
ifeq ($(ARCH), my_arch) |
include build/my_archdefs.mk | section 1
endif |
<more commands>
debug:
$(MAKE) -C src debug
El archivo make para compilar el árbol de códigos se encuentra en el directorio src. Como medida de interrupción de parada, incluí la sección 1 mencionada anteriormente en el archivo MAKE de nivel inferior y, en este caso, noté que la variable ARCH no se transmitía.
Aquí hay un par de enlaces que encontré que parecían relacionados, pero no puedo entender lo que tengo que hacer para que esto funcione. http://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#Options_002fRecursion http://www.gnu.org/software/make/manual/html_node/Include.html
Me parece que la información que necesito está al acecho en los enlaces que hizo referencia anteriormente, pero simplemente no lo veo. Cualquier puntero será muy apreciado.
Gracias.
Gracias por el enlace. Eso es lo que necesitaba. Solo quiero señalar una línea en la página que podría ser relevante para cualquier otra persona que lo consulte más adelante. "Si usa exportar por sí mismo para exportar variables de forma predeterminada, las variables cuyos nombres contengan caracteres que no sean alfanuméricos y guiones bajos no se exportarán a menos que se mencionen específicamente en una directiva de exportación". – dinesh