ada alat yang bagus untuk pembuatan makefile? [tertutup]

Saya mencari alat yang dapat menghasilkan makefile untuk proyek C/C++ untuk kompiler yang berbeda (gcc, microsoft vc++, borland dll) dan platform yang berbeda (Win, Linux, Mac).


person Serge    schedule 13.08.2008    source sumber
comment
@LightnessRacesinOrbit maaf.   -  person Onur A.    schedule 13.03.2018


Jawaban (10)


Saran lain yang mungkin ingin Anda pertimbangkan:

  • Scons adalah pustaka pembangunan lintas platform, lintas kompiler, menggunakan penelusuran Python untuk sistem pembangunan. Digunakan dalam berbagai proyek besar, dan berkinerja sangat baik.

  • Jika Anda menggunakan Qt, QMake juga merupakan sistem build yang bagus.

  • CMake juga cukup bagus.

  • Terakhir, Jika semuanya gagal...

person Thomi    schedule 15.08.2008

Sudahkah Anda mencoba Generator Makefile Otomatis?

Ini mendukung kompiler berikut:

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 
person prakash    schedule 13.08.2008

Saya telah menggunakan Bakefile sebelumnya dan cukup berhasil. Ini cukup sederhana dan tampaknya berfungsi dengan baik.

person Imbue    schedule 27.08.2008

CMake adalah satu-satunya alat yang benar-benar dapat menghasilkan proyek Visual Studio nyata (yaitu bukan proyek "Makefile" yang memanggil alat eksternal), dan yang secara otomatis membuat ulang proyek ketika file input build (CMakeLists.txt) berubah.

Masalah kinerja SCons sudah diketahui secara luas dan merupakan topik yang banyak diperdebatkan di milis SCons.

person JesperE    schedule 17.09.2008

Saya akan memilih OMake. Ini memperbaiki semua keluhan yang saya alami dengan GNU:

  • itu adalah bahasa yang lengkap.
  • menggunakan MD5, bukan stempel waktu.
  • menyediakan shell minimal yang mengimplementasikan perintah unix paling berguna di semua platform: find, sed, awk, dll...
  • bekerja dengan nama jalur gaya unix atau dos.
  • didokumentasikan secara luas.
  • mendukung pembangunan paralel.
  • cepat.
person bltxd    schedule 23.10.2008

Pembuatan file (M|m)ake secara otomatis membuat saya khawatir tentang apa yang Anda coba lakukan di sini.

Apakah Anda memahami apa yang terjadi di balik selimut saat Anda mengetik make? Atau buatlah? Saya hanya bertanya karena jika Anda tidak melakukannya ketika ada yang rusak, seperti perubahan kode baru yang tidak dimasukkan ke dalam build, Anda akan kesulitan mencoba mengerjakan apa yang telah terjadi.

Untuk mulai memahami pembuatannya, bolehkah saya menyarankan untuk membaca "Mengelola Proyek dengan GNU Make" oleh Robert Mecklenberg. Bab-bab awal membahas cara kerja make. Memperhatikan fakta bahwa make adalah backward chaining adalah salah satu hal terbesar yang dapat Anda lakukan.

Jika tidak, dan sistem Anda tampaknya berfungsi, maka Anda akan menggunakan istilah Para Pemrogram Pragmatis, "pemrograman secara kebetulan". (-:

BTW Artikel bagus tersedia di situs mereka! Dan saya tidak terlibat dengan mereka. YMMV. Yada-yada...

person Rob Wells    schedule 27.08.2008

Saya juga akan CMake kedua. Saya telah menggunakannya cukup lama pada proyek multi-platform dan saya sangat puas dengannya.

person grosauro    schedule 20.08.2008

Salah satu masalah yang perlu dipertimbangkan adalah apakah Anda menginginkan pembuat "makefile" atau sistem pembangunan pengganti? Masalah dengan sistem pembangunan pengganti adalah Anda biasanya tidak mendapatkan integrasi IDE yang baik untuk platform yang penggunanya mengharapkan hal ini (Visual C++). Jika Anda menginginkan pembuat makefile dan bukan sistem pembangunan pengganti, lihat MPC. Ini gratis dan sumber terbuka.

person Adam Mitz    schedule 23.08.2008

Tambahan terbaru pada daftar pengganti make adalah waf. Dari pengalaman pribadi, SCONS melakukan tugasnya dengan cukup baik.

person Gabi Davar    schedule 18.08.2011

Saya tidak tahu apakah Anda tertarik dengan pertanyaan ini lagi. Saya sedang mengerjakan proyeksi generator otomatis Makefile serupa yang disebut CodeMate, yang dikembangkan dengan menggunakan Ruby. Mungkin saat ini belum terlalu matang untuk aplikasi besar, tapi saya akan terus mengusahakannya agar lebih baik. Pengguna tidak perlu mengedit file konfigurasi apa pun untuk membangun perangkat lunak, atau setidaknya memang seharusnya demikian. Kurva pembelajaran harus diminimalkan.

person Li Dong    schedule 25.01.2012
comment
Satu lagi tautan SO yang mati! Saya secara manual membuka halaman GitHub Anda, dan apa yang saya lihat di sana sebagai CodeMate adalah sesuatu yang hanya dibuat oleh Fortran. Apakah Anda membuat proyek lain dengan nama yang sama? Ini sepertinya itulah yang Anda maksud. - person kirbyfan64sos; 06.03.2015