2011-03-24 27 views

Trả lời

5

Bạn đang thực hiện a.txt bằng một chuỗi quy tắc ẩn (trong trường hợp này là quy tắc ngầm mà bạn tự xác định). Vì vậy, hãy xem xét foo.log an intermediate file và xóa nó khi nó đã phục vụ mục đích của nó. Bạn có thể ghi đè lên hành vi này bằng cách tuyên bố foo.log một mục tiêu TRUNG:

.SECONDARY: foo.log 
+1

.SECONDARY:% .log # không hoạt động, tôi nên làm gì để tạo quy tắc chung? –

+5

Nếu bạn muốn tất cả các trung gian ở lại, chỉ cần khai báo một mục tiêu .SECONDARY: không có phụ thuộc. Ngoài ra, bạn có thể sử dụng ký tự đại diện với. PRECIOUS. tức là. PRECIOUS:% .log – Sean

+1

@Sean: Kỳ lạ rằng ký tự đại diện hoạt động với PRECIOUS, nhưng không phải với SECONDARY ... – Beta

22

Theo mặc định, GNU làm loại bỏ các file trung gian. Vì% .txt phụ thuộc vào% .log, hãy thực hiện muốn xóa tệp .log. Để ngăn chặn hành vi đó bạn đánh dấu chúng là quý giá với. PRECIOUS hoặc .SECONDARY.

.PRECIOUS: foo.log 

Ngoài ra, bạn có thể làm cho nó để không có tệp trung gian nào bị loại bỏ bằng cách sử dụng .SECONDARY không có phụ thuộc.

.SECONDARY: 

Xem phần this của GNU làm thủ công.

Các vấn đề liên quan