Bagaimana cara menggunakan GNU Make di Windows?

96

Saya menginstal MinGW dan MSYS, ditambahkan C:\MinGW\binke PATHtetapi saya masih tidak dapat menjalankan Makefile di Windows ' cmd. Saya ingin menjalankan cmd.exe dan di sana ketik, misalnya, make alltetapi cmd saya mengatakan bahwa tidak ada perintah seperti itu.

Apa yang harus saya lakukan? Saya tidak ingin menggunakan shell MSYS, bukan itu intinya. Adakah ide bagaimana menggunakan GNU Make di Windows cmd seperti yang dapat saya lakukan di Ubuntu? Saya tidak tertarik Cygwin.

yak
sumber
1
Anda harus menambahkannya ke PATH di bawah variabel lingkungan di pengaturan sistem Anda.
slugonamission
@slugonamission: Saya sudah melakukannya, saya menulis :)
yak
Jalankan make.exe, bukan make?
slugonamission
2
@slugonamission: Saya berhasil! Saya menambahkan C:\MinGW\msys\1.0\binke PATH, dan berhasil! : D Tapi masih ada masalah, maketunjukkan padaku: pastie.org/private/ixaaqbq2xl3geyg0emnow
yak
1
Di alltarget Anda , hello.exe harus berada di baris yang sama alluntuk dianggap sebagai dependensi untuk target. Jika tidak, menjadi bagian dari tugas untuk all.
slugonamission

Jawaban:

101

Inilah cara saya membuatnya bekerja:

  copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

Kemudian saya bisa membuka prompt perintah dan mengetik make:

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

Artinya, ini berfungsi sekarang!

pengguna1594322
sumber
10
@Imray I kasus itu masih belum sepenuhnya jelas: make didistribusikan dalam file mingw32-make.exe. Karena direktori c:\MinGW\binberada di jalur sistem, Anda dapat menggunakan mingw32-makesebagai perintah atau menyalin (versi penggantian nama yang lebih aman) mingw32-make.exeke just make.exe.
Tomáš Zato - Kembalikan Monica
1
Anda cukup banyak harus menghindari membuat msys atau mingw menjadi bagian dari variabel lingkungan Anda karena alasan mengasapi, tetapi juga karena direktori msys bersifat lokal untuk dirinya sendiri. Path di msys akan memungkinkan Anda untuk menggunakan make if di bin mingw64, tetapi tidak berbicara tentang masalah ini. Juga tidak berbicara tentang masalah, Anda harus membuat tautan HARD ke mingw32-make.exe sebagai make.exe, membuat hidup lebih mudah dan tidak perlu mengkloning exe. Coba:mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe
user2262111
9

Saya menggunakan GNU Make dari proyek GnuWin32, lihat http://gnuwin32.sourceforge.net/ tetapi belum ada pembaruan untuk sementara waktu, jadi saya tidak yakin tentang status proyek ini.

Colin 't Hart
sumber
6

Meskipun pertanyaan ini sudah tua, namun masih banyak ditanyakan oleh pengguna MSYS2 .

Saya mulai menggunakannya tahun ini untuk menggantikan CygWin, dan saya merasa cukup puas.

Untuk menginstal make, buka shell MSYS2 dan ketik perintah berikut:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v
Delfino
sumber
3

Anda dapat menambahkan folder aplikasi ke jalur Anda dari prompt perintah menggunakan:

setx PATH "% PATH%; c: \ MinGW \ bin"

Perhatikan bahwa Anda mungkin perlu membuka jendela perintah baru agar pengaturan jalur yang dimodifikasi dapat diterapkan.

Buggieboy
sumber
2

Sebagai alternatif, jika Anda hanya ingin menginstal make, Anda dapat menggunakan pengelola paket chocolatey untuk menginstal gnu make dengan menggunakan

choco install make -y

Ini berkaitan dengan masalah jalur apa pun yang mungkin Anda miliki.

Ivo Merchiers
sumber
0

user1594322 memberikan jawaban yang benar tetapi ketika saya mencobanya saya mengalami masalah admin / izin. Saya dapat menyalin 'mingw32-make.exe' dan menempelkannya, mengatasi masalah admin yang berlebihan / melewati dan kemudian mengedit salinannya ke 'make.exe'. Di VirtualBox di tamu Win7.

DBourne
sumber
0

Sementara make sendiri tersedia sebagai executable mandiri ( gnuwin32.sourceforge.netpaketmake ), menggunakannya dalam lingkungan pengembangan yang tepat berarti menggunakan msys2 .

Git 2.24 (Q4 2019) menggambarkan bahwa:

Lihat commit 4668931 , commit b35304b , commit ab7d854 , commit be5d88e , commit 5d65ad1 , commit 030a628 , commit 61d1d92 , commit e4347c9 , commit ed712ef , commit 5b8f9e2 , commit 41616ef , commit c097b95 (30 Sep 2019), dan commit dbcd970 (30 Sep 2019) oleh Johannes Schindelin ( dscho) .
(Digabung oleh Junio ​​C Hamano - gitster- di commit 6d5291b , 15 Okt 2019)

test-tool run-command: belajar menjalankan (bagian dari) testsuite

Ditandatangani oleh: Johannes Schindelin

Git untuk Windows melompati rintangan untuk menyediakan lingkungan pengembangan yang memungkinkan untuk membangun Git dan menjalankan rangkaian pengujiannya.

Untuk itu, seluruh sistem MSYS2, termasuk GNU make dan GCC ditawarkan sebagai "Git untuk Windows SDK".
Memang ada harga yang harus dibayar: unduhan awal dari SDK tersebut memiliki berat beberapa ratus megabyte, dan SDK yang belum dikemas menempati ~ 2GB ruang disk.

Lingkungan pengembangan yang lebih asli di Windows adalah Visual Studio. Untuk membantu kontributor menggunakan lingkungan itu, kami telah memiliki target Makefile vcxprojyang menghasilkan komit dengan file proyek (dan file lain yang dihasilkan), dan vs/mastercabang Git untuk Windows terus-menerus dibuat ulang menggunakan target itu.

Idenya adalah untuk memungkinkan pembuatan Git di Visual Studio, dan menjalankan pengujian individual menggunakan Portable Git.

VonC
sumber