2012-03-27 21 views
16

Các kernel linux Tôi biên dịch chỉ in thông báo như:Làm cách nào để ẩn thông điệp biên dịch trong Makefile?

CC ..... 
LD [M] .... 

Làm thế nào tôi có thể ẩn các thông điệp biên soạn in ra bằng cách thực hiện và sản lượng gì tôi muốn? Tôi có thể tìm phần mã nào thực hiện điều này trong Makefile hạt nhân?

Trả lời

33

Tóm lại, hãy thêm tiền tố '@'.

gì makefiles kernel làm khá phức tạp hơn, nhưng nó nắm tới một cái gì đó như thế này:

%.o: %.c 
    @echo [CC] [email protected] 
    @gcc -o [email protected] -c $< 

Nhìn vào the GNU Make manual. GNU Hãy thực sự là tài liệu khá tốt, và nếu bạn đang làm rất nhiều công việc với nó nó có giá trị nỗ lực để đọc nó thông qua.

+0

Uhm, vậy thông điệp biên soạn từ '@gcc -o $ @ -c $ <' bị nén như thế nào? Có phải vì 'echo'? Chỉnh sửa: Tôi đọc trang ở câu trả lời của bạn. Hiểu rồi. – Amumu

+0

Thực hiện không echo hoặc là lệnh, nhưng nó vẫn in đầu ra của chúng. Vì vậy, cả đầu ra từ lệnh gcc (tức là cảnh báo/lỗi) và đầu ra từ echo sẽ được hiển thị. Vì vậy, quả thật vậy, đầu ra bạn thấy không thực sự được sản xuất bởi gcc mà bằng tiếng vọng thay vào đó. –

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