Как запустить make-файл в Windows?
У меня есть некоторые загруженные демонстрации, которые идут с Makefile.win и Makefile.sgi. Как я могу запустить их в Windows, чтобы скомпилировать демки?
Если у вас есть Visual Studio, запустите командную строку Visual Studio из меню «Пуск», перейдите в каталог, содержащий Makefile.win и введите следующее:
Вы также можете использовать обычную командную строку и запустить vsvars32.bat (c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools for VS2008). Это настроит среду для запуска nmake и поиска инструментов компилятора.
Ознакомьтесь с Cygwin , Unix-подобной средой для Windows
Проверьте GnuWin «s делает , что обеспечивает родной порт для ОС Windows (без необходимости полной среды выполнения , как Cygwin)
Вот мой быстрый и временный способ запустить Makefile
- скачать сделайте из SourceForge: gnuwin32
- установить его
- перейти в папку установки
C: \ Program Files (x86) \ GnuWin32 \ bin
- скопируйте все файлы в папке с папкой, содержащей Makefile
- откройте cmd(вы можете сделать это с помощью правого клика со смещением ) в папке, содержащей Makefile, и запустите
Кроме того, вы можете добавить аргументы после команды, такие как
Этот вопрос может быть старым, но мое решение, которое является самым простым для любого пользователя Windows, я полагаю, не указано в списке.
Шаг 1: Установите менеджер пакетов шоколада для WINDOWS (совместимый с Windows 7+ / Windows Server 2003+) здесь
Шаг 2: беги choco install make
Шаг 3: Прибыль от ухоженного менеджера пакетов. Make будет добавлен в глобальный путь и работает на всех CLI (powershell, git bash, cmd…)
Я не связан с choco, но это просто хорошо.
Если вы устанавливаете Cygwin . Убедитесь, что в программе установки выбрано make. Затем вы можете запустить следующую команду, если у вас есть Makefile.
В Visual Studio 2017 мне пришлось добавить эту папку в переменную env пути Windows 10:
Там также HostX86
Во-первых, добавьте путь общих инструментов visual studio ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools ) в системный путь. Чтобы узнать, как добавить путь в системный путь, посетите этот веб-сайт: http://www.computerhope.com/issues/ch000549.htm . Тебе просто нужно это один раз.
После этого, когда вам нужно, откройте командную строку и выполните команду, vsvars32.bat чтобы добавить пути всех необходимых инструментов Visual Studio в системный путь.
Затем вы можете позвонить nmake -f makefile.mak
PS: Путь к обычным инструментам Visual Studio может отличаться в вашей системе. Пожалуйста, измените его соответственно.
Если это «Makeake-файл NMake», то есть синтаксис и команда совместимы с NMake, он будет работать в Windows. Обычно Makefile.win ( .win суффикс) указывает, что это make-файл, совместимый с Windows NMake. Так что вы можете попробовать nmake -f Makefile.win .
Часто предоставляются стандартные файлы Makefile для Linux, которые NMake выглядят многообещающе. Тем не менее, следующая ссылка берет простой Linux Makefile и объясняет некоторые фундаментальные проблемы, с которыми можно столкнуться. Он также предлагает несколько альтернатив для обработки Linux Makefiles в Windows.
Я попробовал с cygwin & gnuwin, и у меня ничего не вышло, наверное, потому что в make-файле использовался в основном специфический код Linux.
Он работал с Ubuntu Bash для Windows 10 . Это чудо, если вы пришли из MAC, так как это мой случай:
- Чтобы установить Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
- Оказавшись в консоли, для установки make просто наберите «make», и он даст инструкции для его загрузки.
Дополнительно:
- Полезное включение копирования / вставки в Bash: Копировать Вставить в Bash в Ubuntu в Windows
- В моем случае эта модель называется Maven, поэтому я должен установить ее также: /ubuntu/722993/unable-to-locate-package-maven
- Для доступа к файловой системе C: Windows, например: «cd / mnt / c /»
Я использую набор инструментов MinGW , который предоставляет mingw32-make инструмент для сборки, если он есть в вашей PATH системной переменной , в командной строке Windows просто перейдите в каталог, содержащий файлы, и введите следующую команду:
Как запустить makefile под WINDOWS.
Не так давно я пересел на AtmelStudio6 с AVRStudio4. Есть у меня классный программатор клон STK500. Который просто прекрасно работает с 4й версией. Вот и получается, что пишу я теперь проги под 6й версией, а программатором пользуюсь из под 4ой. Неудобно как то. Попробовал подключить программатор к 6й. Работает через пень колоду. То работает, то не работает. Решил я сделать новый, чтоб работал по 6й версией и не пукал. Решил что это будет AVRISP mkII.
Нарыл я проект LUFA. ТУТ
Скачал код, а там торчит makefile. Самой прошивки там нет, чтоб сразу залить в микроконтроллер. Значит надо запустить сборку makefile чтоб родился hex файл. А как это сделать? Без понятия. А надо. Начал рыть. Помог один товарищ линуксоид. Вместе с ним поколупались и нарыли вот что.
1). Установить прогу mingw-get-inst-20120426.exe. В одном из окон при установке галочку поставить напротив msys. Эта прога есть здесь.
2). Установить прогу bc-1.06-2.exe. Отсюда.
3). Указать путь для переменной PATH в XP 32bit,
Переменная PATH находится здесь.
Компьютер/свойства/дополнительно/переменные среды.
C:\MinGW\msys\1.0\bin;
C:\Program Files\GnuWin32\bin;
C:\Program Files\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.939\avr8-gnu-toolchain\bin
Для WINDIWS_7 64bit
C:\MinGW\msys\1.0\bin;
C:\Program Files (x86)\GnuWin32\bin;
C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.939\avr8-gnu-toolchain\bin
4).Открыть консоль, зайти в нужную папку где находится файл make. Набрать команду make. Вот и все. Там же и появится желанный hex файл. Команда Make clean очищает от прежней сборки файлов.
Вот можно видео глянуть как это происходит.
Продолжение здесь.
How to run a makefile in Windows?
I have some demos that I downloaded and they come with a Makefile.win and a Makefile.sgi. How can I run these in Windows to compile the demos?
SOLUTION 1 :
If you have Visual Studio, run the Visual Studio Command prompt from the Start menu, change to the directory containing Makefile.win and type this:
You can also use the normal command prompt and run vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008). This will set up the environment to run nmake and find the compiler tools.
SOLUTION 2 :
Check out cygwin, a Unix alike environment for Windows
SOLUTION 3 :
Check out GnuWin’s make, which provides a native port for Windows (without requiring a full runtime environment like Cygwin)
SOLUTION 4 :
Here is my quick and temporary way to run a Makefile
- download make from SourceForge: gnuwin32
- install it
- go to the install folder
- copy the all files in the bin to the folder that contains Makefile
- open the cmd(you can do it with right click with shift) in the folder that contains Makefile and run
Plus, you can add arguments after the command, such as
SOLUTION 5 :
With Visual Studio 2017 I had to add this folder to my Windows 10 path env variable:
There’s also HostX86
SOLUTION 6 :
If it is a «NMake Makefile», that is to say the syntax is compatible with NMake, it will work.
Often standard Linux Makefiles are provided and NMake looks promising. However, the following link takes a simple Linux Makefile and explains some fundamental issues that one may encounter.
SOLUTION 7 :
Firstly, add path of visual studio common tools ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools ) into the system path. To learn how to add a path into system path, please check this website:http://www.computerhope.com/issues/ch000549.htm. You just need to this once.
After that, whenever you need, open a command line and execute vsvars32.bat to add all required visual studio tools’ paths into the system path.
Then, you can call nmake -f makefile.mak
PS: Path of visual studio common tools might be different in your system. Please change it accordingly.
SOLUTION 8 :
Maybe you can try NetBeans IDE.
SOLUTION 9 :
If you install Cygwin. Make sure to select make in the installer. You can then run the following command provided you have a Makefile.
How to install and use “make” in Windows?
I’m following the instructions of someone whose repository I cloned to my machine. What I want is simple: to be able to use the make command as part of setting up the code environment. But I’m using Windows, and I searched online only to find a make.exe file to download, a make-4.1.tar.gz file to download (I don’t know what to do with it next), and things about downloading MinGW (for GNU; but after installing it I didn’t find any mention of «make»).
I don’t want a GNU compiler or related stuff; I only want to use «make» in Windows. Please tell me what I should do to accomplish that.
Thanks in advance!
10 Answers 10
make is a GNU command so the only way you can get it on Windows is installing a Windows version like the one provided by GNUWin32. Anyway, there are several options for getting that:
The most simple choice is using Chocolatey. First you need to install this package manager. Once installed you simlpy need to install make (you may need to run it in an elevated/admin command prompt) :
Other recommended option is installing a Windows Subsystem for Linux (WSL/WSL2), so you’ll have a Linux distribution of your choice embedded in Windows 10 where you’ll be able to install make , gcc and all the tools you need to build C programs.
For older Windows versions (MS Windows 2000 / XP / 2003 / Vista / 2008 / 7 with msvcrt.dll) you can use GnuWin32.
An outdated alternative was MinGw, but the project seems to be abandoned so it’s better to go for one of the previous choices.
Makefile для самых маленьких
Не очень строгий перевод материала mrbook.org/tutorials/make Мне в свое время очень не хватило подобной методички для понимания базовых вещей о make. Думаю, будет хоть кому-нибудь интересно. Хотя эта технология и отмирает, но все равно используется в очень многих проектах. Кармы на хаб «Переводы» не хватило, как только появится возможность — добавлю и туда. Добавил в Переводы. Если есть ошибки в оформлении, то прошу указать на них. Буду исправлять.
Статья будет интересная прежде всего изучающим программирование на C/C++ в UNIX-подобных системах от самых корней, без использования IDE.
Компилировать проект ручками — занятие весьма утомительное, особенно когда исходных файлов становится больше одного, и для каждого из них надо каждый раз набивать команды компиляции и линковки. Но не все так плохо. Сейчас мы будем учиться создавать и использовать Мейкфайлы. Makefile — это набор инструкций для программы make, которая помогает собирать программный проект буквально в одно касание.
Для практики понадобится создать микроскопический проект а-ля Hello World из четырех файлов в одном каталоге:
Все скопом можно скачать отсюда
Автор использовал язык C++, знать который совсем не обязательно, и компилятор g++ из gcc. Любой другой компилятор скорее всего тоже подойдет. Файлы слегка подправлены, чтобы собирались gcc 4.7.1
Программа make
Если запустить
make
то программа попытается найти файл с именем по умолчание Makefile в текущем каталоге и выполнить инструкции из него. Если в текущем каталоге есть несколько мейкфайлов, то можно указать на нужный вот таким образом:
make -f MyMakefile
Есть еще множество других параметров, нам пока не нужных. О них можно узнать в ман-странице.
Процесс сборки
Компилятор берет файлы с исходным кодом и получает из них объектные файлы. Затем линковщик берет объектные файлы и получает из них исполняемый файл. Сборка = компиляция + линковка.
Компиляция руками
Самый простой способ собрать программу:
g++ main.cpp hello.cpp factorial.cpp -o hello
Каждый раз набирать такое неудобно, поэтому будем автоматизировать.
Самый простой Мейкфайл
В нем должны быть такие части:
Для нашего примера мейкфайл будет выглядеть так:
Обратите внимание, что строка с командой должна начинаться с табуляции! Сохраните это под именем Makefile-1 в каталоге с проектом и запустите сборку командой make -f Makefile-1
В первом примере цель называется all . Это цель по умолчанию для мейкфайла, которая будет выполняться, если никакая другая цель не указана явно. Также у этой цели в этом примере нет никаких зависимостей, так что make сразу приступает к выполнению нужной команды. А команда в свою очередь запускает компилятор.
Использование зависимостей
Использовать несколько целей в одном мейкфайле полезно для больших проектов. Это связано с тем, что при изменении одного файла не понадобится пересобирать весь проект, а можно будет обойтись пересборкой только измененной части. Пример:
Это надо сохранить под именем Makefile-2 все в том же каталоге
Теперь у цели all есть только зависимость, но нет команды. В этом случае make при вызове последовательно выполнит все указанные в файле зависимости этой цели.
Еще добавилась новая цель clean . Она традиционно используется для быстрой очистки всех результатов сборки проекта. Очистка запускается так: make -f Makefile-2 clean
Использование переменных и комментариев
Переменные широко используются в мейкфайлах. Например, это удобный способ учесть возможность того, что проект будут собирать другим компилятором или с другими опциями.
Это Makefile-3
Переменные — очень удобная штука. Для их использования надо просто присвоить им значение до момента их использования. После этого можно подставлять их значение в нужное место вот таким способом: $(VAR)
Что делать дальше
После этого краткого инструктажа уже можно пробовать создавать простые мейкфайлы самостоятельно. Дальше надо читать серьезные учебники и руководства. Как финальный аккорд можно попробовать самостоятельно разобрать и осознать такой универсальный мейкфайл, который можно в два касания адаптировать под практически любой проект: