Làm cho và POSIX Chia sẻ một lõi chung để GNU Hãy hiểu các tập tin giả định dành cho POSIX Thực hiện và diễn giải chúng theo cùng một cách - với rất ít ngoại lệ. Tuy nhiên, nhiều GNU Makefiles sử dụng các tính năng chỉ có trong GNU Make. Đôi khi điều này là có chủ ý và ý thức; đôi khi nó không phải là (và "đôi khi không phải là" là một vấn đề). Tôi không quen thuộc với Microsoft nmake; Tôi tin rằng nó có khả năng gần gũi với các ngữ nghĩa POSIX Make ở cốt lõi của nó, nhưng nó sẽ có các phần mở rộng khác nhau của riêng nó.
Nói chung, những chương trình như tự động tạo sản phẩm gần với Makefiles di động.
Những điều chính cần lưu ý khi sử dụng GNU Make là tất cả các ký pháp hàm mở rộng để ánh xạ tên tệp (macro) thành các giá trị hữu ích. Trong khi họ chắc chắn là hữu ích, họ cũng là một cái bẫy cho tính di động.
Các '% .x' ký hiệu cho các quy tắc hậu tố không được định nghĩa bởi POSIX - họ được công nhận là một phần mở rộng phổ biến:
Việc giải thích các mục tiêu có chứa các ký tự '%'
và '"'
là thực hiện xác định.
Nguồn
2010-02-17 03:46:20
Liên quan: [Hạn chế GNU ‑ Thực hiện với POSIX Thực hiện hành vi @ Unix.SE] (http://unix.stackexchange.com/q/144424/50602) Đáng buồn thay dường như không có cách nào để đạt được điều đó, bạn chỉ có thể sử dụng mục tiêu đặc biệt '.POSIX' mà vẫn còn nhiều phần mở rộng được kích hoạt. – Palec