Respostas:
Se você exportou a variável de ambiente:
export demoPath=/usr/local/demo
você pode simplesmente se referir a ele pelo nome no makefile
( make
importa todas as variáveis de ambiente que você definiu):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Se você não exportou a variável de ambiente, ela não estará acessível até que você a exporte ou a menos que você a passe explicitamente na linha de comando:
make DEMOPATH="${demoPath}" …
Se você estiver usando um derivado do shell C, substitua setenv demoPath /usr/local/demo
o export
comando.
demoPath=/usr/local/demo make
. Você pode querer testá-lo e talvez atualizar sua resposta. Felicidades!
para quem quer algum documento oficial para confirmar o comportamento
Variáveis em make podem vir do ambiente em que make é executado. Cada variável de ambiente que o make vê ao iniciar é transformada em uma variável do make com o mesmo nome e valor. No entanto, uma atribuição explícita no makefile, ou com um argumento de comando, substitui o ambiente. (Se o sinalizador '-e' for especificado, os valores do ambiente substituem as atribuições no makefile.
https://www.gnu.org/software/make/manual/html_node/Environment.html