Tôi là người mới bắt đầu make
và tôi đang tự hỏi khi nào nên sử dụng make clean
.
Một đồng nghiệp nói với tôi rằng các bản dựng tăng dần make
dựa trên dấu thời gian của tệp. Vì vậy, nếu bạn kiểm tra phiên bản cũ của tệp trong VCS, nó sẽ có dấu thời gian "cũ" và nó sẽ được đánh dấu là "không cần biên dịch lại tệp này". Sau đó, tập tin đó sẽ không được bao gồm trong bản dựng tiếp theo.
Theo đồng nghiệp đó, nó sẽ là một lý do để sử dụng make clean
.
Dù sao, tôi gần như đã có câu trả lời cho câu hỏi "khi nào nên sử dụng make clean
" từ các câu hỏi StackExchange khác nhưng câu hỏi khác của tôi là:
Tại sao các bản dựng gia tăng sử dụng
make
dựa vào dấu thời gian của tệp chứ không phải trên SHA-1 chẳng hạn? Chẳng hạn, Git cho thấy rằng chúng ta có thể xác định thành công nếu một tệp đã được sửa đổi bằng SHA-1.
Có phải cho vấn đề tốc độ?
make
thì phần mềm của bạn sẽ không bị hỏng, tuy nhiên, make
nỗ lực để có khả năng tương thích ngược trong các phiên bản mới. Thay đổi hành vi cốt lõi không có lý do chính đáng là điều ngược lại với điều đó. Và ngày tháng cho thấy lý do tại sao ban đầu nó không được sử dụng để sử dụng SHA-1, hoặc tại sao nó không dễ dàng trang bị thêm khi nó trở nên có sẵn ( make
đã có hàng thập kỷ trước đó).
make
được tạo ra vào những năm 70 SHA-1 được tạo ra vào những năm 90. Git đã được tạo ra trong 00. Điều cuối cùng bạn muốn là đối với một số bản dựng tối nghĩa đã hoạt động trong 30 năm đột nhiên thất bại vì ai đó đã quyết định đi tất cả hiện đại với một hệ thống đã được thử nghiệm và thử nghiệm.