es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

makefile establecer variables de entorno en Windows

Eres un traductor de español que traduce documentos de IT. Traduce lo siguiente al español. No traduzcas el código y la salida en formato Markdown.

Escribo un archivo makefile para establecer variables de entorno en Windows, pero no funciona.
así:

local:
    set CONFIGOR_ENV=local
    echo %CONFIGOR_ENV%

luego lo ejecuto, imprime:

set CONFIGOR_ENV=local
echo %CONFIGOR_ENV%
ECHO está apagado.

luego lo entendí:
No es posible que un archivo makefile establezca tu entorno. Un makefile ejecuta comandos en una instancia separada de una terminal. Es como si tuvieras dos ventanas de cmd.exe abiertas y estableces una variable en una de ellas, esta no se establece en la otra. Así es como funciona make.

por lo tanto, lo actualicé:

local:
    set CONFIGOR_ENV=local ^
    echo %CONFIGOR_ENV%

pero imprime el mismo mensaje:

set CONFIGOR_ENV=local ^
echo %CONFIGOR_ENV%
ECHO está apagado.

también intenté “oneshell”:

.ONESHELL:
local:
    set CONFIGOR_ENV=local ^
    echo %CONFIGOR_ENV%

imprime:

set CONFIGOR_ENV=local ^
echo %CONFIGOR_ENV%
ECHO está apagado.

versión de make:

GNU Make 3.82.90
Construido para i686-pc-mingw32
Copyright (C) 1988-2012 Free Software Foundation, Inc.
Licencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/gpl.html>
Este es software libre: puede cambiarlo y redistribuirlo.
No hay garantía, en la medida permitida por la ley.

Quiero saber si un archivo makefile puede establecer variables de entorno en Windows.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    No, no es posible que un makefile configure variables de entorno en Windows. Los makefiles ejecutan comandos en una instancia separada de una terminal, por lo tanto, cualquier variable establecida en esa instancia no estará disponible en el contexto actual. Deberás configurar las variables de entorno directamente en la terminal de Windows utilizando el comando set, o utilizar una herramienta como setx para hacer los cambios permanentes.

Comments are closed.