Respuestas:
Si ha exportado la variable de entorno:
export demoPath=/usr/local/demo
simplemente puede referirse a él por su nombre en el makefile
( make
importa todas las variables de entorno que ha establecido):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Si no ha exportado la variable de entorno, no será accesible hasta que la exporte, o a menos que la pase explícitamente en la línea de comando:
make DEMOPATH="${demoPath}" …
Si está utilizando un derivado de shell C, sustituya setenv demoPath /usr/local/demo
el export
comando.
demoPath=/usr/local/demo make
. Es posible que desee probarlo y tal vez actualizar su respuesta. ¡Salud!
para quienes quieren algún documento oficial que confirme el comportamiento
Las variables de make pueden provenir del entorno en el que se ejecuta make. Cada variable de entorno que make ve cuando se inicia se transforma en una variable make con el mismo nombre y valor. Sin embargo, una asignación explícita en el archivo MAKE, o con un argumento de comando, anula el entorno. (Si se especifica la bandera '-e', los valores del entorno anulan las asignaciones en el archivo MAKE.
https://www.gnu.org/software/make/manual/html_node/Environment.html