从 Windows PowerShell 使用 make

从 Windows PowerShell 使用 make

在 Linux 下,项目源Makefile代码通常带有 。 Makefile 包含使用命令 构建这些项目的指令make。 我目前被迫使用 Windows,为了能够使用此操作系统,我配置并增强了“PowerShell”(通过安装一些附加程序,例如 或vimsvn一个名为 的模块PSReadLine,编写 PowerShell 配置文件等)。

但是我找不到是否可以make在 PowerShell 中安装。我知道我还必须安装make会调用的程序,例如,g++或,但那是以后的事了。现在我首先pdflatex想让它工作起来。make

一些研究表明有两种可能性:

  1. 对这个非常相似的问题的公认答案是:如何在 Windows 上使用 makefile,建议使用 Cygwin。这是有可能的,Cygwin 很棒,但是因为我决定给 PowerShell 一个机会,所以我想知道这是否也可以用电源外壳, 不是赛格威。因此,这个问题不是重复的,因为另一个问题是关于一些可以make在 Windows 中使用,而我特别要求使用 PowerShell。

  2. 存在一个make名为 PowerShell 克隆的克隆波什马克,但 Poshmake 文件的语法与通常的 Makefile 不同,这是不行的。我想要一个真正的make,因为为我手头的所有项目维护两个版本的 Makefile 不是一个选择。

那么:是否可以安装 GNU make,它将理解典型 Makefile 的语法,以便我可以make从内部调用电源外壳

答案1

看一眼“为 Windows 制作”。安装后,只需从 CMD 或 PowerShell 调用“make”即可。

答案2

2021 年 3 月 Windows 10 企业版 64 位成功方法

尽管看起来很旧,但是“make”的 gnuwin 安装运行良好,反映了 Linux 和 Windows 的稳定性和向后支持。

我按照说明进行操作http://gnuwin32.sourceforge.net/packages/make.htmhttp://gnuwin32.sourceforge.net/install.html。下面是我实际做的:

  1. 下载“完整软件包,除源代码外” (http://gnuwin32.sourceforge.net/downlinks/make.php)这将下载:

    制作-3.81.exe

  2. 双击文件执行 make-3.81.exe

  3. 在安装向导中它将显示安装路径,默认为:

    C:\Program 文件(x86)\GnuWin32

    (在安装向导中我没有安装文档也没有创建启动快捷方式。)

  4. 将二进制文件的路径添加到 Windows 路径变量中。这将是安装路径 +“\bin”。我使用以下命令从 Windows 命令 shell 执行此操作:

    设置 PATH=%PATH%;"C:\Program Files (x86)\GnuWin32\bin"

  5. 使用命令确认添加路径:

    回显 %PATH%

    这应该显示路径列表并包括“C:\Program Files (x86)\GnuWin32\bin”

  6. 关闭您想要在其中使用“make”命令的所有应用程序或 shell,然后重新打开它们。这将在应用程序中加载新的路径位置。

  7. 要测试,请在 powershell 或 windows cmd shell 中输入以下内容:

    制作-v

    它应该显示版权等。

答案3

** 2022 年更新 **

使用包管理器 Chocolatey,运行choco install make

为了验证您现在已有make,请运行make --version


要安装 Chocolatey,请运行:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

来源:https://docs.chocolatey.org/en-us/choco/setup

答案4

由于这是我在 Bing 上搜索“PowerShell make”得到的第一个结果,因此我创建了这个答案来指出官方 GNU 页面镜子将 Make for Windows 源代码作为 tar.gz 文件的一部分,并且截至 2020 年 1 月已更新至版本 4.3。其他答案中提供的 sourceforge 链接仍然是 2006 年 3.8.1 版本。我不熟悉 4.x 中的更改,因为我不经常使用 make,但我认为最好保持这个问题的更新,这样当其他人不可避免地发现它时,他们就不会感到困惑。

但是,GNU 页面上的文件不包含任何二进制文件,因此您必须使用 GCC 或 MSVC 自行构建(这很简单,只需一个 ./build_w32.bat(根据您的编译器带有一些标志),这在 README.W32 文件中概述。然后,您需要获取生成的文件夹,将其存储在您想要的位置,然后添加到路径或在 PowerShell 中创建别名以运行该 exe。

我找到的唯一预构建二进制文件托管在 Chocolatey 上。Winget 和 AppGet(网站似乎在发布时仍在运行,尽管它应该关闭)软件包仍然是旧的 3.8.1 版本。如果有任何其他二进制文件位置,请告诉我/在评论中发布/编辑此答案。

相关内容