make install
melakukan apa pun yang Makefile
penulis inginkan. Biasanya, pada titik ini, sudah terlambat untuk mengubah direktori instal, seperti yang sering diketahui sebelumnya , selama pembuatan, jadi file bantuan dan file konfigurasi dapat dirujuk dengan nama path yang benar.
Banyak proyek menggunakan GNU Autotools untuk mencoba meningkatkan portabilitas mereka di antara perbedaan perangkat keras dan sistem operasi. (Varian Unix yang berbeda menggunakan tajuk yang sedikit berbeda untuk deklarasi fungsi yang sedikit keluar dari jalur yang biasa - kecuali sebagian besar program membutuhkan satu atau yang lain dari yang dideklarasikan di lokasi yang berbeda.)
Ketika sebuah proyek menggunakan Autotools, mantra normal untuk menginstalnya adalah:
./configure
make
make install
The ./configure
biasanya memungkinkan Anda untuk menggunakan opsi baris perintah seperti --prefix /opt/apache
atau sesuatu yang mirip untuk menentukan pathname yang berbeda. /usr/local/
adalah standar umum prefix
. Jauh lebih mudah untuk perangkat lunak yang dibangun secara lokal untuk tinggal di satu tempat dan perangkat lunak yang disediakan distribusi untuk hidup di "direktori utama":, /usr/
/bin/
dan seterusnya. (Pemaket sangat berhati-hati untuk tidak pernah menyentuh file /usr/local/
- mereka tahu itu khusus untuk administrator sistem.)
Bagaimanapun, ./configure --prefix /path/to/new/prefix
akan mengatur variabel dalam Makefile
yang tersedia ketika mengkompilasi program, memodifikasi halaman manual sehingga mereka menunjuk ke lokasi yang benar untuk file, memodifikasi file konfigurasi, dll. Jadi make
akan membangun perangkat lunak khusus untuk lokasi instalasi yang Anda inginkan dan make install
akan menginstalnya ke lokasi itu.
Sebagian besar program dapat berjalan bahkan tanpa make install
langkah akhir - hanya ./program_name
akan sering memulainya. Ini jelas merupakan hal per proyek - beberapa, seperti postfix
,, qmail
dll., Terdiri dari banyak bagian bergerak yang berbeda dan bergantung padanya semuanya bekerja bersama. Yang lain, suka ls
atau su
mungkin cukup mandiri untuk mengeksekusi denda dari direktori tempat mereka dibangun. (Ini tidak sering berguna - tetapi kadang-kadang sangat berguna.)
Namun, tidak semua proyek menggunakan Autotools - mereka besar , rumit , dan menyedihkan untuk dipelihara. Tulisan tangan Makefile
jauh lebih mudah untuk ditulis, dan saya pribadi berpikir hanya mendistribusikan yang sederhana Makefile
dengan variabel konfigurasi yang tersedia jauh lebih mudah pada pengembang dan pengguna keduanya. (Padahal ./configure ; make ; make install
mantra itu sangat mudah bagi pengguna saat itu bekerja.)
make install
langkah-langkah dari sudut pandang programmer.