make installlàm bất cứ điều gì Makefiletác giả muốn nó làm. Thông thường, đến thời điểm này, đã quá muộn để thay đổi thư mục cài đặt, vì nó thường được biết đến trước đó , trong quá trình xây dựng, vì vậy các tệp trợ giúp và tệp cấu hình có thể được tham chiếu với tên đường dẫn chính xác.
Nhiều dự án sử dụng GNU Autotools để cố gắng cải thiện tính di động của chúng giữa các khác biệt về phần cứng và hệ điều hành. (Các biến thể Unix khác nhau sử dụng các tiêu đề hơi khác nhau để khai báo các hàm hơi lệch khỏi đường dẫn thông thường - ngoại trừ hầu hết các chương trình cần một hoặc một trong các biến thể được khai báo ở các vị trí khác nhau.)
Khi một dự án sử dụng Autotools, câu thần chú thông thường để cài đặt nó là:
./configure
make
make install
Các ./configuređiển hình cho phép bạn sử dụng tùy chọn dòng lệnh như --prefix /opt/apachehoặc một cái gì đó tương tự để xác định một tên đường dẫn khác nhau. /usr/local/là một mặc định phổ biến prefix. Phần mềm được xây dựng tại địa phương dễ dàng hơn nhiều để sống ở một nơi và phần mềm được cung cấp phân phối để sống trong "thư mục chính" /usr/ /bin/:, v.v. (Người đóng gói rất cẩn thận để không bao giờ chạm vào các tệp trong /usr/local/- họ biết rằng nó chỉ dành riêng cho quản trị viên hệ thống.)
Dù sao, ./configure --prefix /path/to/new/prefixsẽ đặt một biến Makefilecó sẵn khi biên dịch chương trình, sửa đổi các trang thủ công để chúng trỏ đến vị trí chính xác cho các tệp, sửa đổi tệp cấu hình, v.v. Vì vậy, makesẽ xây dựng phần mềm cụ thể cho vị trí cài đặt bạn muốn và make installsẽ cài đặt nó vào vị trí đó.
Hầu hết các chương trình có thể chạy ngay cả khi không có make installbước cuối cùng - ./program_namethường sẽ khởi động chúng. Đây chắc chắn là một điều mỗi dự án - một số người, như postfix, qmailvv, được tạo thành từ nhiều mảnh di chuyển khác nhau và dựa vào tất cả chúng làm việc cùng nhau. Những người khác, thích lshoặc sucó thể khép kín đủ để thực thi tốt từ thư mục mà họ đã xây dựng. (Điều này thường không hữu ích - nhưng đôi khi rất hữu ích.)
Tuy nhiên, không phải tất cả các dự án đều sử dụng Autotools - chúng rất lớn , phức tạp và khốn khổ để duy trì. Viết tay Makefileđơn giản hơn nhiều để viết và cá nhân tôi nghĩ rằng chỉ cần phân phối đơn giản Makefilevới các biến cấu hình có sẵn sẽ dễ dàng hơn nhiều cho cả nhà phát triển và người dùng. (Mặc dù ./configure ; make ; make installcâu thần chú thực sự dễ dàng với người dùng khi nó hoạt động.)
make installcác bước từ quan điểm của lập trình viên.