Tìm kiếm PhanVien.Com Web
Download PhanVien.Com Toolbar
Danh mục thông tin

Khám phá một số tính năng khác của Makefile

Câu lệnh make thường được ít người dùng quan tâm đến. Thông thường câu lệnh này và Makefile nằm trong nhóm mã nguồn hỗ trợ biên dịch và liên kết mã nguồn trong file thực thi.

Khám phá một số tính năng khác của Makefile

Tuy nhiên nó còn có thể được sử dụng để thực hiện nhiều tính năng khác ngoài việc xử lý mã nguồn.

Makefile chỉ là một chuỗi lệnh thực thi, làm việc  trên các phần phụ của file mục tiêu. Ví dụ, bạn có thể chạy lệnh make install và lệnh này sẽ kiểm tra cập nhật những đối tượng được yêu cầu trước tiên, như mục tiêu compile và các thành phần phụ của nó. Điều này làm cho lệnh make trở thành một lệnh rất linh hoạt. Điều này cũng có nghĩa bạn có thể sử dụng nó với nhiều file ngoại trừ file mã nguồn; bạn có thể sử dụng Makefile để copy  file (cục bộ hay từ xa), kiểm soát phiên bản, xóa file, hay những lệnh khác có thể sử dụng khi xử lý file.

Ví dụ, bạn có thể tạo một Makefile để copy  những file web  cục bộ lên một máy chủ  ở xa, lấy chúng từ một vùng chứa kiểm soát phiên bản. Makefile này có dạng như sau:

SVNURL = https://svn.repository.com/svn/website/trunk
REMOTEHOST = user@host:~/public_html/
ifdef REV
REVISION = -r$(REV)
endif
all: dist
clean:
rm -rf website
rm -f website.tar.gz
checkout:
svn co $(SVNURL) $(REVISION) website
dist: clean checkout
tar czf website.tar.gz website
rsync -avP -e ssh website/* $(REMOTEHOST)

Lưu ý, một Makefile phải sử dụng những tab kí tự để canh lề cấu trúc lệnh của đối tượng đích. Nếu sử dụng vùng trống (dấu cách) sẽ làm cho lệnh make bị lỗi. Makefile trên (sử dụng đối tượng đích mặc định là all) sẽ xóa thư mục hiện thời (xóa bỏ những website/thư mục, cũng như file nén của website); kiểm tra mã từ những hệ thống  kiểm soát phiên bản, địa chỉ URL được khai báo trong biến $(SVNURL); và cuối cùng tạo một tarball của website  này và sử dụng rsync để đồng bộ hóa nó với máy chủ  ở xa (REMOTEHOST).

Với định nghĩa ifdef, bạn có thể sử dụng make REV-600 để kiểm tra vùng lưu trữ  hệ thống  kiểm soát phiên bản  khi nó ở vùng sửa đổi 600 (nhập –r600 vào hệ thống  lệnh kiểm soát phiên bản); lệnh này cho phép bạn khôi phục lại những thay đổi hay chụp màn hình  rất nhanh chóng và dễ dàng. Tuy nhiên cần lưu ý rằng lệnh make sẽ kiểm tra mã trả về khác 0, nghĩa là nó sẽ thoát và trả về mã trả về của lệnh này. Nếu muốn lệnh make tiếp tục thi hành ngay cả khi mã phản hồi khác không, bạn có thể sử dụng phương pháp sau:

ps xyz || echo " "
cat foo

Trong mã trên, ps xyz sẽ luôn trả về giá trị  khác không bởi vì xyz không phải là lệnh chính xác. Chúng ta sử dụng dấu “||”(chỉ ra shell thực thi lệnh tiếp theo nếu lệnh trước đó thất bại). Kếtxuất của lệnh thất bại vẫn được thông báo  trên màn hình, nhưng lỗi nàysẽ không làm dừng lệnh make, và lệnh tiếp theo sẽ tiến hành.

Lệnh makeMakefile có thểthực hiện nhiều tính năng khác ngoài biên dịch mã nguồn (mục đích thiếtkế Makefile). Nhưng sử dụng nó có tốt hơn sử dụng một tệp lệnh shellkhông? Điều này phụ thuộc nhiều vào nhu cầu của bạn, nhưng thực tế làlệnh make kiểm tra lỗi rất kĩ, trong khi tệp lệnh shell không thực hiệnthao tác này. Tính năng này rất hữu ích trong một số tình huống cụ thể.

Tìm bài viết khác
Theo QUANTRIMANG.COM
Updated: 29/08/2009 | Views: 12 | Comments: 0

Comments - Khám phá một số tính năng khác của Makefile

Hiện tại chưa có bình luận nào về bài viết Khám phá một số tính năng khác của Makefile!

Bạn có ý kiến gì về bài viết Khám phá một số tính năng khác của Makefile này? Hãy gởi suy nghĩ, bình luận, đánh giá, lời khuyên ... của bạn về bài viết Khám phá một số tính năng khác của Makefile bạn tại đây.

Other articles

Similar Articles Khám phá một số tính năng khác của Makefile

Older than Khám phá một số tính năng khác của Makefile in Hệ Điều Hành Khác

Newer than Khám phá một số tính năng khác của Makefile in Hệ Điều Hành Khác

Recently Published - Hệ Điều Hành Khác
Day ao thuat
Latest Comments in Hệ Điều Hành Khác
By Vu Tuan Anh. Qua hay...
By Nguyên. Rất hoan nghênh bài viết của bạn, tôi rất nóng lòng muốn xem các bài .....
Most Comments in Hệ Điều Hành Khác
Monthly Most Views - Hệ Điều Hành Khác
  English Tiếng Việt 
Bạn đang xem bài viết Khám phá một số tính năng khác của Makefile được gởi trong chủ đề Hệ Điều Hành Khác - Công Nghệ Thông Tin. Bài viết Khám phá một số tính năng khác của Makefile này được lưu trên Server thành hai bản: Khám phá một số tính năng khác của Makefile có dấuKhám phá một số tính năng khác của Makefile không dấu. Bạn có thể gởi ý kiến bình luận, đóng góp về bài viết Khám phá một số tính năng khác của Makefile này tại phần gởi bình luận ở cuối nội dung bài viết. Lưu ý nội dung của bài viết Khám phá một số tính năng khác của Makefile này có thể không còn phù hợp với thời điểm hiện tại. Nếu phát hiện điều này, xin bạn báo cho BQT biết để gỡ bỏ nó.
Home Page | Privacy | Contact | Friend Links | Search | Sitemap | Up
Copyright © 2008 PhanVien.Com . All rights reserved.