Saya seorang pemula make
dan saya bertanya-tanya kapan harus menggunakannya make clean
.
Salah satu kolega memberi tahu saya bahwa penambahan build make
didasarkan pada stempel waktu file. Jadi, jika Anda checkout versi lama file di VCS Anda, itu akan memiliki cap waktu "lama" dan itu akan ditandai sebagai "tidak perlu mengkompilasi ulang file ini". Kemudian, file itu tidak akan dimasukkan dalam build berikutnya.
Menurut kolega yang sama, itu akan menjadi alasan untuk menggunakannya make clean
.
Ngomong-ngomong, saya kira-kira mendapat jawaban untuk pertanyaan "kapan harus menggunakan make clean
" dari pertanyaan StackExchange lainnya tetapi pertanyaan saya yang lain adalah:
Mengapa membangun tambahan menggunakan
make
mengandalkan stempel waktu file dan bukan pada SHA-1 misalnya? Git, misalnya, menunjukkan bahwa kita dapat berhasil menentukan apakah suatu file diubah menggunakan SHA-1.
Apakah itu untuk masalah kecepatan?
make
maka perangkat lunak Anda tidak akan rusak, namun make
berusaha untuk memiliki kompatibilitas ke belakang dalam versi baru. Mengubah perilaku inti tanpa alasan yang jelas merupakan kebalikan dari itu. Dan tanggal menunjukkan mengapa itu awalnya tidak dibuat untuk menggunakan SHA-1, atau mengapa itu tidak mudah untuk retrofit ketika sudah tersedia ( make
sudah puluhan tahun saat itu).
make
diciptakan pada 70-an. SHA-1 dibuat pada tahun 90-an. Git dibuat pada tahun 00-an. Hal terakhir yang Anda inginkan adalah beberapa bangunan tidak jelas yang bekerja selama 30 tahun tiba-tiba gagal karena seseorang memutuskan untuk menjadi modern dengan sistem yang telah dicoba dan diuji.