代码之家  ›  专栏  ›  技术社区  ›  WilliamKF

如何调用shell来创建一个新环境,以便在另一个make中运行make?

  •  2
  • WilliamKF  · 技术社区  · 14 年前

    我试过了,但没用:

    .PHONY: setup
    setup:
     shell cd myDir; make; cd ..
    

    它会无限重复以下错误:

    make[1]: Entering directory `/disk4/home/user/parent'
    shell cd myDir; make; cd ..
    /bin/sh: shell: command not found
    make[1]: Entering directory `/disk4/home/user/parent'
    shell cd myDir; make; cd ..
    /bin/sh: shell: command not found
    [...]
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   bobbogo    14 年前

    帕伦夫妇是没有必要的。配方中的每一行都在它自己的shell中调用。你的食谱似乎有多余的 字符串,shell尝试将其作为命令执行(/bin/sh(shell, (制造)投诉 shell: command not found ).

    还有,让我们 -C

    另外,当从shell调用make时,使用 ${MAKE} 宏。

    .PHONY: setup
    setup:
        unset MAKEFLAGS; ${MAKE} -C myDir
    
        2
  •  2
  •   Ignacio Vazquez-Abrams    14 年前
    (cd myDir ; make)
    

    paren调用一个新的子shell,它有自己的“当前目录”。

        3
  •  0
  •   WilliamKF    14 年前

    .PHONY: setup
    setup:
     (cd myDir; env --unset=MAKEFLAGS make)