The chances are that besides GNU make, you’ll also need many of the coreutils. Touch, rm, cp, sed, test, tee, echo and the like. The build system might require bash features, if for nothing else, it’s popular to create temp file names from the process ID ($$$$). That won’t work without bash. You can get everything with the popular POSIX emulators for Windows:
- Cygwin (http://www.cygwin.org/) Probably the most popular one and the most compatible with POSIX. Has some difficulties with Windows paths and it’s slow.
- GNUWin (http://gnuwin32.sourceforge.net/) It was good and fast but now abandoned. No bash provided, but it’s possible to use it from other packages.
- ezwinports (https://sourceforge.net/projects/ezwinports) My current favorite. Fast and works well. There is no bash provided with it, that can be a problem for some build systems. It’s possible to use make from ezwinports and bash from Cygwin or MSYS2 as a workaround.
- MSYS 1.19 abandoned. Worked well but featured very old make (3.86 or so)
- MSYS2 (https://www.msys2.org/) Works well, second fastest solution after ezwinports. Good quality, package manager (pacman), all tooling available. I’d recommend this one.
- MinGW abandoned? There was usually MSYS 1.19 bundled with MinGW packages, that contained an old make.exe. Use mingw32-make.exe from the package, that’s more up to date.
Note that you might not be able to select your environment. If the build system was created for Cygwin, it might not work in other environments without modifications (The make language is the same, but escaping, path conversion are working differently, $(realpath) fails on Windows paths, DOS bat files are started as shell scripts and many similar issues). If it’s from Linux, you might need to use a real Linux or WSL.
If the compiler is running on Linux, there is no point in installing make for Windows, because you’ll have to run both make and the compiler on Linux. In the same way, if the compiler is running on Windows, WSL won’t help, because in that environment you can only execute Linux tools, not Windows executables. It’s a bit tricky!
For tech enthusiasts, Make is a very neat way of building applications. Whether you’re trying to package your app or install somebody else’s, Make makes things easier.
Make isn’t available in Windows. When downloading a Windows application we download a setup file of EXE format. There’s no telling what these setup files may contain. You may even be downloading malware with exe format.
Below we have compiled a few different approaches to installing Make in Windows.
Table of Contents
What is Make?
GNU.org tells Make is a tool that controls the generation of programs from its source files. In simple terms, the Make tool takes the source code of the application as input and produces the application as output.
Make is targeted for applications that follow the Free and Open Source Software (FOSS) principle. It was originally designed to work across Linux systems only. The source code can be modified in any way we want before we package it up for use.
Installing Make on Windows
Using Winget
Winget tool by Windows manages installation and upgrade of application packages in Windows 10 and 11. To use this tool, you need to have at least Windows 10 or later installed on your PC.
- Press Win + R together to open the Run window.
- Type cmd and press Enter to bring up the Command Prompt.
- Type the command
Winget install GnuWin32.make
and press Enter.
- Type Y to agree to source agreements.
- After installation, press Win + R again.
- Type
systempropertiesadvanced
and press Enter.
- Select Environment Variables under the Advanced tab.
- Under System variables, select New.
- Under the variable name, enter make.
- Under Variable value, enter
C:\Program Files(x86)\GnuWin32\bin\make.exe
. - Or, select Browse File and go to the above location.
- Press on OK.
Using Chocolatey
Using Chocolatey is a great way to install make if you do not meet the minimum requirements for Winget. It is a package manager and installer for the Windows platform. For anyone familiar with Ubuntu, it is the equivalent of apt command for software installation.
Since Make is not directly available in Windows, we need to install the package manager first. Then, we will use this package manager to install the make tool.
- Press Win + X keys together to open the Power menu.
- Select Windows Powershell(Admin).
- Type the command ‘
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))'
and press Enter.
- Downloads and installs chocolatey as available from their official source.
- Type
choco
to verify if the installation worked.
- Now, type the command ‘
choco install make
‘ to install Make.
- Go to the installation directory
C:\Program Files(x86)\GnuWin32\
to confirm the installation worked.
Using WSL
Using WSL or Windows Subsystem for Linux, we can install Make directly on our PC. WSL is released by Windows so this is the most preferred way of installing Make on Windows.
For WSL, we will install Ubuntu inside our Windows.
- Press Win + X keys together to open the Power menu.
- Select Windows Powershell(Admin).
- Type the command ‘
Wsl --install
‘ and press Enter.
- Restart your PC.
- Go to the Start Menu and type Ubuntu to bring up the Ubuntu command line.
- Type the following ‘
Sudo apt install gcc build-essential make -y
‘ and press Enter.
- Wait until the installation completes.
Using MinGW
MinGW is one of the older ways to install Make on Windows. MinGW is a collection of minimal GNU files for Windows. Note that using this method, you will have to type the ming32-make instead of the make command. Both do the same work except ming32-make is the MinGW version of make.
- Download the latest version of MinGW-get-setup.exe.
- Install MinGW by opening the setup file.
- Turn off installing graphical interface.
- Select Continue to start installation.
- Go to the installation directory and locate the bin folder.
- Make sure MinGW-get.exe exists.
- Press Win + R together to open the Run window.
- Type
systempropertiesadvanced
and press Enter. - Select Environment Variables under the Advanced tab.
- Under System variables, double-click on Path.
- Select New.
- Type the location of MinGW-get.exe. E.g.
C:\MinGW\bin
- Select OK.
- Press Win + X together to open the Power menu.
- Select Windows Powershell.
- Type the command ‘
Mingw-get install mingw32-make
‘ and press Enter.
Using Make on Windows is pretty much the same as Linux or other platforms. You need to start with a makefile along with the source code of the program.
- Go to the location of the source code.
- Do a right-click and select Text document under New.
- Give it the name Makefile.
- Assuming the source code is source.c, paste the following lines in your makefile as given in this tutorial.
- Finally, open Command Prompt and go to the source code location using the cmd command.
- Type make and press Enter.
- You can now share and open the output file as an application.
- You can also modify the source code source.c any number of times and make will compile it as application output.
If you want to learn more about using the Make command, there’s entire documentation on its usage.
The chances are that besides GNU make, you’ll also need many of the coreutils. Touch, rm, cp, sed, test, tee, echo and the like. The build system might require bash features, if for nothing else, it’s popular to create temp file names from the process ID ($$$$). That won’t work without bash. You can get everything with the popular POSIX emulators for Windows:
- Cygwin (http://www.cygwin.org/) Probably the most popular one and the most compatible with POSIX. Has some difficulties with Windows paths and it’s slow.
- GNUWin (http://gnuwin32.sourceforge.net/) It was good and fast but now abandoned. No bash provided, but it’s possible to use it from other packages.
- ezwinports (https://sourceforge.net/projects/ezwinports) My current favorite. Fast and works well. There is no bash provided with it, that can be a problem for some build systems. It’s possible to use make from ezwinports and bash from Cygwin or MSYS2 as a workaround.
- MSYS 1.19 abandoned. Worked well but featured very old make (3.86 or so)
- MSYS2 (https://www.msys2.org/) Works well, second fastest solution after ezwinports. Good quality, package manager (pacman), all tooling available. I’d recommend this one.
- MinGW abandoned? There was usually MSYS 1.19 bundled with MinGW packages, that contained an old make.exe. Use mingw32-make.exe from the package, that’s more up to date.
Note that you might not be able to select your environment. If the build system was created for Cygwin, it might not work in other environments without modifications (The make language is the same, but escaping, path conversion are working differently, $(realpath) fails on Windows paths, DOS bat files are started as shell scripts and many similar issues). If it’s from Linux, you might need to use a real Linux or WSL.
If the compiler is running on Linux, there is no point in installing make for Windows, because you’ll have to run both make and the compiler on Linux. In the same way, if the compiler is running on Windows, WSL won’t help, because in that environment you can only execute Linux tools, not Windows executables. It’s a bit tricky!
делать это утилита командной строки, которая выполняет makefile. Этот инструмент командной строки поддерживается операционными системами Unix, Linux и Windows. Языки программирования, поддерживаемые командой оболочки, могут использовать команду make. Он в основном используется для перекомпиляции и повторной компоновки фрагмента кода, а также для поддержки библиотек.
В этом блоге мы покажем, как установить, использовать и удалить команду make в Windows.
Как установить make на Windows?
В этом разделе будет предложен самый простой способ установки команды make с помощью диспетчера пакетов Chocolatey в PowerShell.
Шаг 1. Откройте командную строку PowerShell.
Сначала нажмите кнопку «Окно + X», чтобы получить доступ к меню Power User и запустить командную строку Windows PowerShell от имени администратора:
Шаг 2: Установите диспетчер пакетов Chocolatey
Затем выполните приведенную ниже команду для установки диспетчера пакетов Chocolatey:
Подтвердите установку диспетчера пакетов Chocolatey, запустив «шоколадкоманда:
> шоколад
Данный вывод указывает на то, что мы успешно установили версию Chocolatey.v1.1.0” в нашей системе Windows:
Шаг 3: Установите make
Наконец, установите утилиту make с помощью Chocolatey с помощью следующей команды:
> шоколад установитьделать
Шаг 4: Проверьте версию make
Проверьте установку утилиты make, проверив ее версию:
>делать—версия
Вы можете видеть, что мы успешно установили «GNU Сделать 4.3» в Windows. Давайте двигаться вперед, чтобы использовать его.
Как использовать make в Windows?
Команда make может использоваться для многих целей, но в основном она используется для запуска файла Makefile или файла описания.
Хотите узнать, как использовать команду make для запуска Makefile? Ознакомьтесь с приведенными ниже шагами.
Шаг 1: Создайте Makefile
Сначала мы создадим текстовый файл с именем «Makefile» в нашем «Мой проект» папка:
Вставьте приведенный ниже код, чтобы проверить работу команды make, и нажмите «CTRL+S«, чтобы сохранить его:
привет:
эхо«Привет, мир»
Шаг 2. Удалите расширение .txt
На следующем шаге удалите «.текст” из файла Makefile. Для этого сначала выберите «Вид» в строке меню и включите параметр «Расширения имени файла», как показано ниже:
Затем удалите «.текст» расширение. Помните, что вам нужно только удалить расширение файла без изменения имени файла. После этого на экране появится окно с предупреждением, из которого вы должны нажать «Да» кнопка:
Шаг 3: Запустите команду make
После этого скопируйте путь, где находится «Makefile» существуют:
Откройте командную строку, выполнив поиск «CMD» в «Запускать” и откройте его:
Затем перейдите в папку, в которой сохранен Makefile. Используйте команду «cd» и вставьте скопированный путь, как мы указали в приведенной ниже команде:
>CD C:\Users\Талья Саиф\Desktop\Myproject
Теперь выполните команду «make», чтобы скомпилировать код Makefile в командной строке:
>делать
Вы можете видеть, что мы успешно скомпилировали и выполнили Makefile с помощью команды make:
Утилита make также поддерживает множество параметров, которые можно использовать для выполнения различных операций. Укажите «-помощь” в команде make, чтобы просмотреть его руководство:
>делать—помощь
Давайте перейдем к методу удаления утилиты make из Windows.
Как удалить make из Windows?
Утилиту make можно удалить из системы Windows с помощью команды choco:
> шоколад удалить делать
Мы эффективно разработали метод установки, использования и удаления утилиты make в Windows.
Вывод
Один из самых простых способов установить утилиту команды make в Windows — использовать «Шоколадный» менеджер пакетов в PowerShell. Для этого сначала откройте Windows PowerShell и установите диспетчер пакетов Chocolatey. После этого установите утилиту make с помощью «шоколад установить сделатькоманда. В этом блоге объясняются методы, связанные с установкой, использованием и удалением make в Windows.
Я следую инструкциям человека, репозиторий которого я клонировал на свою машину. Я хочу просто: иметь возможность использовать команду make
как часть настройки среды кода. Но я использую Windows и поискал в Интернете только файл make.exe для загрузки, файл make-4.1.tar.gz
для загрузки (я не знаю, что с ним делать дальше) и кое-что о загрузке MinGW (для GNU; но после его установки я не нашел упоминания о «make»).
Мне не нужен компилятор GNU или что-то подобное; Я хочу использовать только make в Windows. Скажите, пожалуйста, что мне нужно сделать для этого?
Заранее спасибо!
person
Hashem Elezabi
schedule
20.08.2015
source
источник
Ответы (10)
make
— это команда GNU, поэтому единственный способ получить ее в Windows — это установить версию Windows, подобную той, которую предоставляет GNUWin32. В любом случае, есть несколько способов получить это:
-
Самый простой выбор — использовать Chocolatey. Сначала вам нужно установить этот менеджер пакетов. После установки вам просто необходимо установить
make
(вам может потребоваться запустить его в командной строке с повышенными правами / администратором):choco install make
-
Другой рекомендуемый вариант — установка подсистемы Windows для Linux (WSL / WSL2), поэтому у вас будет выбранный вами дистрибутив Linux, встроенный в Windows 10, где вы сможете установить
make
,gcc
и все инструменты, необходимые для создания программ C. -
Для более старых версий Windows (MS Windows 2000 / XP / 2003 / Vista / 2008/7 с msvcrt.dll) вы можете использовать GnuWin32.
Устаревшей альтернативой был MinGw, но проект кажется нужно отказаться, поэтому лучше выбрать один из предыдущих вариантов.
person
Eduardo Yáñez Parareda
schedule
20.08.2015
GNU make доступен на шоколадном языке.
-
Установите шоколад с здесь.
-
Затем
choco install make
.
Теперь вы сможете использовать Make в Windows.
Я пробовал использовать его в MinGW, но он должен работать и в CMD.
person
Vasantha Ganesh
schedule
08.01.2019
Принятый ответ в целом является плохой идеей, потому что созданный вручную make.exe
останется и потенциально может вызвать неожиданные проблемы. На самом деле это нарушает работу RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105
Альтернативой является установка make через Chocolatey (как указано @Vasantha Ganesh K)
Другой альтернативой является установка MSYS2 из Chocolatey и использование make
из C:\tools\msys64\usr\bin
. Если make
не устанавливается автоматически вместе с MSYS2, вам необходимо установить его вручную через pacman -S make
(как указано @Thad Guidry и @Luke).
person
thisismydesign
schedule
25.03.2018
Если вы используете Windows 10, она встроена в функцию подсистемы Linux. Просто запустите командную строку Bash (нажмите клавишу Windows, затем введите bash
и выберите «Bash в Ubuntu в Windows»), cd
перейдите в каталог, который вы хотите создать, и введите make
.
FWIW, диски Windows находятся в /mnt
, например C:\
диск — это /mnt/c
в Bash.
Если Bash недоступен в меню «Пуск», вот инструкции по включению этой функции Windows (только для 64-разрядной версии Windows):
https://docs.microsoft.com/en-us/windows/wsl/install-win10
person
Stefan
schedule
10.01.2019
Загрузите make.exe с их официального сайта GnuWin32
-
В сеансе загрузки нажмите Полный пакет, кроме источников.
-
Следуйте инструкциям по установке.
-
По завершении добавьте
<installation directory>/bin/
в переменную PATH.
Теперь вы сможете использовать make в cmd.
person
Manu S Pillai
schedule
04.12.2018
Другой альтернативой является то, что если вы уже установили minGW и добавили папку bin в переменную среды Path, вы можете использовать «mingw32-make» вместо «make».
Вы также можете создать символическую ссылку от «make» к «mingw32-make» или скопировать и изменить имя файла. Я бы не рекомендовал эти варианты раньше, они будут работать, пока вы не внесете изменения в minGW.
person
Persike
schedule
23.07.2019
Могу предложить пошаговый подход.
- Посетите GNUwin.
- Загрузите программу установки
- Следуйте инструкциям и установите GNUWin. Обратите внимание на каталог, в который устанавливается ваше приложение. (Вам понадобится позже1)
- Следуйте эти инструкции и добавьте make в переменные среды. Как я уже говорил вам раньше, пришло время узнать, где было установлено ваше приложение. К вашему сведению: каталог по умолчанию —
C:\Program Files (x86)\GnuWin32\
. - Теперь обновите PATH, включив в него каталог bin только что установленной программы. Типичный пример того, что можно добавить к пути:
...;C:\Program Files (x86)\GnuWin32\bin
person
Jaguarfi
schedule
10.04.2020
Одно из решений, которое может оказаться полезным, если вы хотите использовать эмулятор командной строки cmder. Вы можете установить установщик пакетов по отдельности. Сначала мы устанавливаем по очереди в командной строке Windows, используя следующую строку:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv
После установки chocolatey можно использовать команду choco для установки make. После установки вам нужно будет добавить псевдоним в /cmder/config/user_aliases.cmd. Следует добавить следующую строку:
make="path_to_chocolatey\chocolatey\bin\make.exe" $*
После этого Make будет работать в среде cmder.
person
MATTHEW SILVEUS
schedule
22.04.2020
-
Установить npm
-
установить узел
-
Установить Make
node install make up node install make
-
Если вышеуказанные команды отображают какую-либо ошибку, установите Chocolatey (choco)
-
Откройте cmd и скопируйте и вставьте следующую команду (команда скопирована из шоколадного URL)
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
person
dinesh kusuma
schedule
23.09.2020