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

使用内存中的makefile运行make

  •  2
  • solotim  · 技术社区  · 17 年前

    假设我手头有一个加密的makefile,我想写一个perl程序来解密它并运行它。 make -f 有了它。在不将解密的生成文件写回硬盘的情况下,这是可能的吗?

    4 回复  |  直到 14 年前
        1
  •  8
  •   Catalin Iacob    17 年前

    让您的程序将解密的生成文件写入stdout并通过管道发送到make-。

    看《人的制造》,上面写着:

    如果makefile为`-',则读取标准输入。

        2
  •  0
  •   Community Mohan Dere    9 年前

    你可以尝试设置 LD_PRELOAD 当你奔跑 make 给予 制作 一些假fopen/fclose函数读取了内存中的makefile。

        3
  •  0
  •   ctrl-alt-delor    15 年前
    make -f <(decrypt file)
    

    这将在Linux和其他一些系统上工作。它不依赖make支持此功能。它是在操作系统中完成的。参见 http://www.gnu.org/software/bash/manual/bashref.html#Process-Substitution

    另外,你要考虑交换空间,告诉Make不要交换。

    此外,这对第一个包含的文件也没有帮助。

        4
  •  0
  •   ctrl-alt-delor    15 年前

    您可以使用加密的文件系统。一个shell脚本可以为文件系统启动一个密钥代理,然后make可以运行在加密文件系统中检索和保存所有内容。我用sshfs(不是加密的文件系统,而是与锁定在房间中的远程文件系统的加密连接)成功地做到了这一点。