Saya punya proyek yang menggunakan autotool GNU untuk membangunnya sendiri. Saya mencoba untuk memodifikasi sehingga autotools menghasilkan semua file kontrol yang tidak berversi dalam direktori terpisah sehingga saya dapat menjaga pohon sumber bersih dari file sementara. Adakah yang tahu bagaimana melakukan ini?
10
Jawaban:
Paket autotools memiliki banyak jalur relatif berkode keras dan nama di dalamnya untuk alasan yang baik. Pilihan terbaik Anda adalah meringkas output dan menandainya sebagai diabaikan di kontrol revisi Anda, misalnya di
.cvsignore
,.hgignore
atau sebagaisvn:ignore
attibute. Beberapa RCS bahkan memungkinkan Anda menentukan wildcard secara rekursif.sumber
Solusi: buat bangunan di luar sumber
Contoh dengan cek otomatis
Sebagai contoh, ini akan mengambil dan membangun GNU halo dan memeriksa bahwa pohon sumber tidak diubah sedikit pun.
Persiapan pohon sumber
Bagian ini mengambil dan menyiapkan direktori.
Bagian umum: gunakan kembali itu dalam proyek Anda
Bagian ini dapat digunakan dengan proyek berbasis autoconf lainnya. Cukup masukkan ke dalam proyek Anda sebelum menjalankan. Hati-hati: ini berjalan
rm
, jika bermain dengan varian hati-hati, Anda bertanggung jawab dalam hal apa pun.Periksa bagian
Ini memeriksa apakah build benar-benar di luar sumber.
Ini dia output ini:
Bonus: instalasi non-root
Bagian di
--prefix="${MYPREFIX?}"
atas adalah opsional. Hal ini memungkinkan untuk melakukan "make install" yang bersifat lokal ke akun Anda. Jika Anda ingin "sudo make install" tradisional ke lokasi seluruh sistem, Anda dapat menghapus--prefix="${MYPREFIX?}"
.sumber