Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

fmake - Trực tuyến trên đám mây

Chạy fmake trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh fmake có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


làm cho - duy trì sự phụ thuộc của chương trình

SYNOPSIS


làm cho [-ABPSXeiknpqrstv] [-C thư mục] [-D biến] [-d cờ] [-E biến] [-f trang điểm]
[-I thư mục] [-j max_jobs] [-m thư mục] [-V biến] [-x cảnh báo_options]
[biến=giá trị] [mục tiêu hữu ích. Cảm ơn !]

MÔ TẢ


Sản phẩm làm cho tiện ích là một chương trình được thiết kế để đơn giản hóa việc bảo trì các chương trình khác. Của nó
đầu vào là danh sách các đặc tả mô tả mối quan hệ phụ thuộc giữa việc tạo
của các tệp và chương trình.

Trước hết, danh sách ban đầu của các thông số kỹ thuật sẽ được đọc từ tệp hệ thống,
sys.mk, trừ khi bị ức chế với -r lựa chọn. Chuẩn mực sys.mk như được vận chuyển với FreeBSD
cũng xử lý make.conf(5), đường dẫn mặc định có thể được thay đổi thông qua làm cho biến
__MAKE_CONF.

Sau đó, đầu tiên của tệp BSDmakefile, trang điểmmakefile điều đó có thể được tìm thấy trong hiện tại
thư mục, thư mục đối tượng (xem .OBJDIR), hoặc đường dẫn tìm kiếm (xem -I tùy chọn) sẽ được đọc
cho danh sách chính của các thông số kỹ thuật phụ thuộc. Một makefile khác hoặc danh sách chúng có thể là
cung cấp thông qua -f tùy chọn). Cuối cùng, nếu tệp .lệ thuộc có thể được tìm thấy trong bất kỳ
các vị trí nói trên, nó cũng sẽ được đọc (xem mkdep(1)).

Thời Gian làm cho tìm kiếm một makefile, tên của nó được ưu tiên hơn vị trí của nó. Vì
ví dụ, tệp BSDmakefile trong thư mục đối tượng sẽ được ưu tiên hơn makefile bây giờ
thư mục.

Các tùy chọn như sau:

-A Làm cho lỗi lưu trữ không nghiêm trọng, gây ra làm cho để chỉ bỏ qua phần còn lại hoặc tất cả
lưu trữ và tiếp tục sau khi in tin nhắn.

-B Cố gắng tương thích ngược bằng cách thực thi một trình bao cho mỗi lệnh và bằng cách
thực hiện các lệnh để tạo các nguồn của một dòng phụ thuộc theo trình tự. Điều này
được bật theo mặc định trừ khi -j Được sử dụng.

-C thư mục
Thay đổi thành thư mục trước khi đọc makefiles hoặc làm bất cứ điều gì khác. Nếu như
nhiều -C các tùy chọn được chỉ định, mỗi tùy chọn được diễn giải liên quan đến tùy chọn trước đó:
-C / -C vv tương đương với -C / Etc.

-D biến
Định nghĩa biến trở thành số 1, trong bối cảnh toàn cầu.

-d cờ
Bật gỡ lỗi và chỉ định các phần của làm cho là để gỡ lỗi in
thông tin. Lý lẽ cờ là một hoặc nhiều trong số sau:

A In tất cả thông tin gỡ lỗi có thể có; tương đương với việc chỉ định tất cả
cờ gỡ lỗi.

a In thông tin gỡ lỗi về tìm kiếm và lưu trữ trong bộ nhớ đệm.

c In thông tin gỡ lỗi về đánh giá có điều kiện.

d In thông tin gỡ lỗi về tìm kiếm thư mục và bộ nhớ đệm.

f In thông tin gỡ lỗi về việc thực hiện các vòng lặp for.

g1 In biểu đồ đầu vào trước khi thực hiện bất kỳ điều gì.

g2 In biểu đồ đầu vào sau khi thực hiện mọi thứ hoặc trước khi thoát ra do lỗi.

j In thông tin gỡ lỗi về việc chạy nhiều trình bao.

l In các lệnh trong Makefiles bất kể chúng có được đặt trước hay không
bởi @ hoặc các cờ "yên tĩnh" khác. Còn được gọi là hành vi "ồn ào".

m In thông tin gỡ lỗi về việc tạo mục tiêu, bao gồm cả sửa đổi
ngày.

s In thông tin gỡ lỗi về các quy tắc chuyển đổi hậu tố.

t In thông tin gỡ lỗi về bảo trì danh sách mục tiêu.

v In thông tin gỡ lỗi về phép gán biến.

-E biến
Chỉ định một biến có giá trị môi trường (nếu có) sẽ ghi đè các chỉ định macro
trong makefiles.

-e Chỉ định rằng các giá trị môi trường ghi đè các chỉ định macro trong tệp trang điểm cho tất cả
biến.

-f trang điểm
Chỉ định một tệp trang để đọc thay vì tệp mặc định. Nếu như trang điểm không phải là một
tên đường dẫn tuyệt đối, làm cho sẽ tìm kiếm nó như mô tả ở trên. Trong trường hợp trang điểm is
'-', đầu vào tiêu chuẩn được đọc. Nhiều -f các tùy chọn có thể được cung cấp, và các cấu hình
sẽ được đọc theo thứ tự đó. Không giống như các tùy chọn dòng lệnh khác, -f không phải là
được lưu trữ trong .MAKEFLAGS cũng không bị đẩy xuống mục phụ thông qua MAKEFLAGS. Xem bên dưới để biết thêm
chi tiết về các biến này.

-I thư mục
Chỉ định một thư mục để tìm kiếm các tệp trang điểm và tệp trang điểm được bao gồm.
nhiều -I các tùy chọn có thể được chỉ định để tạo thành một đường dẫn tìm kiếm. Hệ thống makefile
thư mục (hoặc các thư mục, xem -m tùy chọn) được tự động thêm vào ở đuôi
của con đường này.

-i Bỏ qua việc thoát khác XNUMX của lệnh shell trong makefile. Tương đương với việc xác định
'-'trước mỗi dòng lệnh trong makefile.

-j max_jobs
Chỉ định số lượng công việc tối đa làm cho có thể chạy bất kỳ lúc nào.
Tắt chế độ tương thích, trừ khi -B cờ cũng được chỉ định.

-k Tiếp tục xử lý sau khi gặp lỗi, nhưng chỉ trên những mục tiêu có
không phụ thuộc vào mục tiêu mà việc tạo ra gây ra lỗi.

-m thư mục
Chỉ định một thư mục để tìm kiếm tệp hệ thống và tệp trang
bao gồm thông qua kiểu <...>. Nhiều -m các tùy chọn có thể được chỉ định để tạo thành một tìm kiếm
đường dẫn. Đường dẫn này sẽ ghi đè lên hệ thống mặc định bao gồm đường dẫn,
/ usr / share / mk-freebsd. Hệ thống bao gồm đường dẫn sẽ luôn được thêm vào
đường dẫn tìm kiếm được sử dụng cho "..." - tìm kiếm kiểu bao gồm và makefile (xem -I
Tùy chọn).

Nếu một tệp hoặc tên thư mục trong -m đối số (hoặc môi trường MAKESYSPATH
biến) bắt đầu bằng chuỗi "... /" sau đó làm cho sẽ tìm kiếm tệp được chỉ định
hoặc thư mục có tên trong phần còn lại của chuỗi đối số. Tìm kiếm bắt đầu
với thư mục hiện tại của Makefile và sau đó hoạt động trở lên đối với thư mục gốc của
hệ thống tập tin. Nếu tìm kiếm thành công, thì thư mục kết quả sẽ thay thế
đặc điểm kỹ thuật "... /" trong -m tranh luận. Nếu được sử dụng, tính năng này cho phép làm cho đến
dễ dàng tìm kiếm trong cây nguồn hiện tại cho các tệp sys.mk tùy chỉnh (ví dụ: bằng cách sử dụng
"... / mk / sys.mk" làm đối số). Lưu ý rằng một -C đó là trước đó trong lệnh
dòng ảnh hưởng đến đâu -m "... /" tìm kiếm.

-n Hiển thị các lệnh sẽ được thực thi, nhưng không thực sự thực thi
Chúng.

-P Đối chiếu kết quả của một công việc nhất định và chỉ hiển thị khi công việc kết thúc, thay vào đó
trộn đầu ra của các công việc song song với nhau. Tùy chọn này không có hiệu lực trừ khi -j
cũng được sử dụng.

-p Chỉ in đồ thị đầu vào, không thực hiện bất kỳ lệnh nào. Đầu ra giống như
-d g1. Khi kết hợp với -f / dev / null, chỉ các quy tắc tích hợp của làm cho đang
hiển thị.

-Q Im lặng hơn. Đối với nhiều công việc, điều này sẽ làm cho các biểu ngữ tệp không được
được tạo ra.

-q Không thực hiện bất kỳ lệnh nào, nhưng thoát khỏi 0 nếu các mục tiêu được chỉ định được cập nhật và
1, nếu không.

-r Không xử lý makefile hệ thống.

-S Dừng xử lý khi gặp lỗi. Hành vi mặc định. Điều này là cần thiết để
phủ định -k tùy chọn trong quá trình xây dựng đệ quy.

-s Không lặp lại bất kỳ lệnh nào khi chúng được thực thi. Tương đương với việc chỉ định '@' trước
mỗi dòng lệnh trong makefile.

-t Thay vì xây dựng lại một mục tiêu như được chỉ định trong makefile, hãy tạo nó hoặc cập nhật
thời gian sửa đổi để làm cho nó có vẻ cập nhật.

-V biến
In làm choý tưởng về giá trị của biến, trong bối cảnh toàn cầu. Không xây dựng bất kỳ
các mục tiêu. Nhiều trường hợp của tùy chọn này có thể được chỉ định; các biến sẽ là
được in một trên mỗi dòng, với một dòng trống cho mỗi biến rỗng hoặc không xác định. Nếu như
biến chứa một '$'thì giá trị sẽ được mở rộng trước khi in.

-v Thêm dài dòng. In bất kỳ thông tin bổ sung nào.

-X Khi sử dụng -V tùy chọn in các giá trị của biến, không mở rộng đệ quy
giá trị.

biến=giá trị
Đặt giá trị của biến biến đến giá trị.

-x cảnh báo_options
Chỉ định các tùy chọn cảnh báo mở rộng. Tùy chọn này có thể được chỉ định nhiều lần. MỘT
cảnh báo_option có thể được bắt đầu bằng “không” trong trường hợp đó cảnh báo bị tắt.
Các tùy chọn hiện có sẵn là:

cú pháp dirsyntax
Cảnh báo nếu có bất cứ điều gì ngoại trừ khoảng trống và nhận xét theo sau .endif or .khác
Chỉ thị.

Xem thêm .CẢNH BÁO mục tiêu đặc biệt.

Có bảy loại dòng khác nhau trong makefile: đặc tả phụ thuộc tệp,
lệnh shell, phép gán biến, câu lệnh bao gồm, lệnh điều kiện, vòng lặp for,
và nhận xét.

Nói chung, các dòng có thể được tiếp tục từ dòng này sang dòng tiếp theo bằng cách kết thúc chúng bằng dấu gạch chéo ngược
('\'). Ký tự dòng mới ở cuối và khoảng trắng đầu tiên trên dòng sau là
được nén vào một không gian duy nhất.

FILE SỰ PHỤ THUỘC ĐẶC TÍNH KỸ THUẬT


Các đường phụ thuộc bao gồm một hoặc nhiều mục tiêu, một toán tử và không hoặc nhiều nguồn.
Điều này tạo ra một mối quan hệ trong đó các mục tiêu "phụ thuộc" vào các nguồn và thường là
được tạo ra từ chúng. Mối quan hệ chính xác giữa mục tiêu và nguồn được xác định
bởi toán tử phân tách chúng. Ba toán tử như sau:

: Mục tiêu được coi là lỗi thời nếu thời gian sửa đổi của nó ít hơn bất kỳ
trong số các nguồn của nó. Các nguồn cho một mục tiêu tích lũy trên các đường phụ thuộc khi điều này
toán tử được sử dụng. Mục tiêu bị xóa nếu làm cho bị gián đoạn.

! Các mục tiêu luôn được tạo lại, nhưng không phải cho đến khi tất cả các nguồn đã được kiểm tra và
được tạo khi cần thiết. Các nguồn cho một mục tiêu tích lũy trên các đường phụ thuộc khi điều này
toán tử được sử dụng. Mục tiêu bị xóa nếu làm cho bị gián đoạn.

:: Nếu không có nguồn nào được chỉ định, mục tiêu luôn được tạo lại. Nếu không, mục tiêu là
được coi là lỗi thời nếu bất kỳ nguồn nào của nó đã được sửa đổi gần đây hơn
Mục tiêu. Các nguồn cho một mục tiêu không tích lũy trên các đường phụ thuộc khi điều này
toán tử được sử dụng. Mục tiêu sẽ không bị xóa nếu làm cho bị gián đoạn.

Các mục tiêu và nguồn có thể chứa các biểu thức ký tự đại diện shell '?', '*', '[]' Và '{}'. Các
các biểu thức '?', '*' và '[]' chỉ có thể được sử dụng như một phần của thành phần cuối cùng của đích
hoặc nguồn, và phải được sử dụng để mô tả các tệp hiện có. Biểu thức '{}' không cần
nhất thiết phải được sử dụng để mô tả các tệp hiện có. Mở rộng theo thứ tự thư mục, không phải
theo thứ tự bảng chữ cái như được thực hiện trong shell.

SHELL HÀNG


Mỗi mục tiêu có thể liên kết với nó một loạt lệnh shell, thường được sử dụng để tạo
mục tiêu. Mỗi lệnh trong tập lệnh này phải đứng trước một tab. Trong khi bất kỳ
target có thể xuất hiện trên một dòng phụ thuộc, chỉ một trong những phụ thuộc này có thể được theo sau bởi
tập lệnh tạo, trừ khi '::toán tử 'được sử dụng.

Nếu các ký tự đầu tiên của dòng lệnh là '@','-', và / hoặc'+', lệnh được xử lý
đặc biệt. MỘT '@'khiến lệnh không được lặp lại trước khi nó được thực thi. MỘT '-'nguyên nhân
mọi trạng thái thoát khác XNUMX của dòng lệnh sẽ được bỏ qua. MỘT '+'khiến lệnh trở thành
thực hiện ngay cả khi -n được chỉ định trên dòng lệnh.

BIẾN ĐỔI BIÊN BẢN


Các biến trong làm cho giống như các biến trong shell và theo truyền thống, bao gồm tất cả
chữ in hoa. Năm toán tử có thể được sử dụng để gán giá trị cho các biến là
như sau:

= Gán giá trị cho biến. Mọi giá trị trước đó đều bị ghi đè.

+= Nối giá trị vào giá trị hiện tại của biến.

?= Gán giá trị cho biến nếu nó chưa được xác định.

:= Gán với mở rộng, tức là, mở rộng giá trị trước khi gán giá trị đó cho biến.
Thông thường, việc mở rộng không được thực hiện cho đến khi biến được tham chiếu.

!= Mở rộng giá trị và chuyển nó vào trình bao để thực thi và gán kết quả cho
Biến đổi. Mọi dòng mới trong kết quả đều được thay thế bằng dấu cách.

Bất kỳ khoảng trắng nào trước khi được chỉ định giá trị bị xóa; nếu giá trị đang được thêm vào,
một khoảng trắng được chèn vào giữa nội dung trước đó của biến và phần được nối thêm
giá trị.

Các biến được mở rộng bằng cách bao quanh tên biến bằng dấu ngoặc nhọn ('{}') hoặc
dấu ngoặc đơn ('()') và đứng trước nó bằng dấu đô la ('$'). Nếu tên biến chứa
chỉ một chữ cái duy nhất, không bắt buộc phải có dấu ngoặc nhọn hoặc dấu ngoặc nhọn xung quanh. Này ngắn hơn
hình thức không được khuyến khích.

Việc thay thế biến xảy ra ở hai thời điểm khác nhau, tùy thuộc vào vị trí của biến
được sử dụng. Các biến trong dòng phụ thuộc được mở rộng khi dòng được đọc. Các biến trong shell
các lệnh được mở rộng khi lệnh shell được thực thi.

Bốn loại biến khác nhau (theo thứ tự ưu tiên tăng dần) là:

Biến môi trường
Các biến được xác định là một phần của làm chocủa môi trường.

Biến toàn cục
Các biến được xác định trong makefile hoặc trong makefiles bao gồm.

Biến dòng lệnh
Các biến được xác định như một phần của dòng lệnh và các biến thu được từ
Biến môi trường MAKEFLAGS hoặc .MAKEFLAGS Mục tiêu.

Biến cục bộ
Các biến được xác định cụ thể cho một mục tiêu nhất định.

Nếu tên của một biến môi trường xuất hiện trong tệp makefile ở phía bên trái của
phép gán, một biến toàn cục có cùng tên được tạo, và biến sau sẽ làm mờ
trước đây theo tiền lệ tương đối của họ. Môi trường không bị thay đổi trong trường hợp này và
thay đổi không được xuất sang các chương trình được thực thi bởi làm cho. Tuy nhiên, một biến dòng lệnh
thực sự thay thế biến môi trường cùng tên nếu biến môi trường tồn tại,
hiển thị cho các chương trình con.

Có bảy biến cục bộ trong làm cho:

.ALLSRC Danh sách tất cả các nguồn cho mục tiêu này; còn được biết là '>'.

.LƯU TRỮ Tên của tệp lưu trữ; còn được biết là '!'.

.IMPSRC Tên / đường dẫn của nguồn mà từ đó mục tiêu sẽ được chuyển đổi (
Nguồn "ngụ ý"); cũng được biết đến như là '<'.

.THÀNH VIÊN Tên của thành viên lưu trữ; còn được biết là '%'.

.OODATE Danh sách các nguồn cho mục tiêu này được coi là đã lỗi thời; cũng được biết đến như là
'?'.

.TIẾP ĐẦU NGỮ Tiền tố tệp của tệp, chỉ chứa phần tệp, không có hậu tố hoặc
các thành phần trước thư mục; cũng được biết đến như là '*'.

.MỤC TIÊU Tên của mục tiêu; còn được biết là '@'.

Các hình thức ngắn hơn '@','!','<','%','?','>', và'*'được phép lùi lại
khả năng tương thích và không được khuyến khích. Sáu biến '@F','@D','<F','<D','*F', và
'*D'được phép tương thích với các cấu hình của AT&T System V UNIX và không
khuyến khích.

Bốn trong số các biến cục bộ có thể được sử dụng trong các nguồn trên các dòng phụ thuộc vì chúng mở rộng
đến giá trị thích hợp cho mỗi mục tiêu trên dòng. Các biến này là .MỤC TIÊU, .TIẾP ĐẦU NGỮ,
.LƯU TRỮ.THÀNH VIÊN.

Ngoài ra, làm cho thiết lập hoặc biết về các biến hoặc môi trường nội bộ sau
biến:

$ Một ký hiệu đô la duy nhất '$', tức là '$$' mở rộng thành một ký hiệu đô la duy nhất.

MAKE Tên mà làm cho đã được thực hiện với (argv[0]).

.CURDIR Một đường dẫn đến thư mục nơi làm cho đã được thực hiện. Các làm cho bộ tiện ích
.CURDIR đến đường dẫn chính tắc được cung cấp bởi getcwd(3).

.OBJDIR Một đường dẫn đến thư mục nơi các mục tiêu được tạo. Lúc khởi động, làm cho
tìm kiếm một thư mục thay thế để đặt các tệp đích. Nó sẽ cố gắng
để thay đổi vào thư mục đặc biệt này và sẽ tìm kiếm thư mục này cho
makefiles không tìm thấy trong thư mục hiện tại. Các thư mục sau đây là
đã thử theo thứ tự:

1. $ {MAKEOBJDIRPREFIX} / `pwd -P`
2. $ {MAKEOBJDIR}
3. obj. $ {MACHINE}
4. đối tượng
5. / usr / obj / `pwd -P`

Thư mục đầu tiên làm cho thành công thay đổi thành được sử dụng. Nếu một trong hai
MAKEOBJDIRPREFIX hoặc MAKEOBJDIR được đặt trong môi trường nhưng làm cho là không thể
để thay đổi thành thư mục tương ứng, thì thư mục hiện tại là
được sử dụng mà không kiểm tra phần còn lại của danh sách. Nếu chúng không được xác định và
làm cho không thể thay đổi thành bất kỳ thư mục nào trong ba thư mục còn lại, khi đó
thư mục hiện tại được sử dụng. Lưu ý rằng MAKEOBJDIRPREFIX và MAKEOBJDIR
phải là các biến môi trường và không được đặt trên làm chodòng lệnh của.

Sản phẩm làm cho bộ tiện ích .OBJDIR đến đường dẫn chính tắc được cung cấp bởi getcwd(3).

.MAKEFILE_LIST As làm cho đọc các tệp trang điểm khác nhau, bao gồm các tệp mặc định và bất kỳ
thu được từ dòng lệnh và .bao gồm.sinclude chỉ thị, của họ
tên sẽ tự động được thêm vào .MAKEFILE_LIST Biến đổi. Họ
được thêm ngay trước đó làm cho bắt đầu phân tích cú pháp chúng, để tên của
makefile hiện tại là từ cuối cùng trong biến này.

MAKEFLAGS Biến môi trường MAKEFLAGS ban đầu có thể chứa bất kỳ thứ gì có thể
được chỉ định trên làm chodòng lệnh của, bao gồm -f tùy chọn). Sau
xử lý, nội dung của nó được lưu trữ trong .MAKEFLAGS biến toàn cục,
mặc dù bất kỳ -f tùy chọn bị bỏ qua. Sau đó, tất cả các tùy chọn và biến
nhiệm vụ được chỉ định trên làm chodòng lệnh của, ngoại trừ -f, được thêm vào
các .MAKEFLAGS biến.

Bất cứ khi nào làm cho thực hiện một chương trình, nó đặt MAKEFLAGS trong chương trình
môi trường đến giá trị hiện tại của .MAKEFLAGS biến toàn cục. Vì vậy,
nếu MAKEFLAGS trong làm chomôi trường của chứa bất kỳ -f tùy chọn, chúng sẽ không
tự động đẩy xuống các chương trình con. Các làm cho tiện ích hiệu quả
lọc ra -f các tùy chọn từ môi trường và dòng lệnh mặc dù nó
chuyển phần còn lại của các tùy chọn xuống phần tạo phụ qua MAKEFLAGS theo mặc định.

Khi chuyển các định nghĩa macro và đối số cờ trong MAKEFLAGS
biến môi trường, dấu cách và ký tự tab được trích dẫn trước chúng
với một dấu gạch chéo ngược. Khi đọc biến MAKEFLAGS từ môi trường,
tất cả các chuỗi dấu gạch chéo ngược và một dấu cách hoặc tab được thay thế chỉ bằng
ký tự thứ hai của họ mà không gây ra ngắt từ. Bất kỳ lần xuất hiện nào khác
của một dấu gạch chéo ngược được giữ lại. Các nhóm không gian, tab và dòng mới chưa được trích dẫn
ký tự gây vỡ từ.

.MAKEFLAGS Ban đầu, biến toàn cục này chứa làm chocác tùy chọn thời gian chạy hiện tại của
từ môi trường và dòng lệnh như được mô tả ở trên, trong MAKEFLAGS.
Bằng cách sửa đổi nội dung của .MAKEFLAGS biến toàn cục, makefile
có thể thay đổi nội dung của biến môi trường MAKEFLAGS được cung cấp sẵn
cho tất cả các chương trình làm cho thực thi. Điều này bao gồm thêm -f tùy chọn).
Giá trị hiện tại của .MAKEFLAGS chỉ được sao chép nguyên văn sang MAKEFLAGS trong
môi trường của các chương trình con.

Lưu ý rằng bất kỳ tùy chọn nào được nhập vào .MAKEFLAGS không ảnh hưởng đến hiện tại
ví dụ của làm cho cũng không hiển thị ngay lập tức trong bản sao MAKEFLAGS của chính nó.
Tuy nhiên, chúng hiển thị trong biến môi trường MAKEFLAGS của các chương trình
thực hiện bởi làm cho. Mặt khác, một nhiệm vụ trực tiếp cho MAKEFLAGS
không ảnh hưởng đến phiên bản hiện tại của làm cho cũng không được truyền lại cho làm cho's
bọn trẻ. So sánh với .MAKEFLAGS mục tiêu đặc biệt bên dưới.

MLAGS Biến này được cung cấp để tương thích ngược và chứa tất cả
các tùy chọn từ biến môi trường MAKEFLAGS cộng với bất kỳ tùy chọn nào được chỉ định
on làm chodòng lệnh của.

.MAKE.PID Id tiến trình của làm cho.

.MAKE.PPID Id quy trình mẹ của làm cho.

.MAKE.JOB.PREFIX
If làm cho được chạy với -j -v sau đó đầu ra cho mỗi mục tiêu được bắt đầu bằng
mã thông báo '--- target ---' phần đầu tiên có thể được điều khiển thông qua
.MAKE.JOB.PREFIX.
Ví dụ: .MAKE.JOB.PREFIX = $ {. Newline} --- $ {MAKE: T} [$ {. MAKE.PID}] sẽ
sản xuất các mã thông báo như '--- make [1234] target ---' hoặc
.MAKE.JOB.PREFIX = --- pid [$ {. MAKE.PID}], ppid [$ {. MAKE.PPID}] sẽ tạo ra
các mã thông báo như '--- pid [56789], ppid [1234] target ---' giúp theo dõi dễ dàng hơn
mức độ song song đạt được.

.MỤC TIÊU Danh sách các mục tiêu làm cho hiện đang xây dựng.

.BAO GỒM Xem .BAO GỒM mục tiêu đặc biệt.

.LIBS Xem .LIBS mục tiêu đặc biệt.

MÁY MÓC Tên của kiến ​​trúc máy làm cho đang chạy, thu được từ
Biến môi trường MÁY hoặc thông qua uname(3) nếu không được xác định.

MÁY_ARCH Tên của kiến ​​trúc máy làm cho được biên dịch cho, được định nghĩa tại
thời gian biên soạn.

VPATH Makefiles có thể chỉ định một danh sách các thư mục được phân tách bằng dấu hai chấm cho VPATH. Kia là
thư mục sẽ được tìm kiếm các tệp nguồn bằng làm cho sau khi nó hoàn thành
phân tích cú pháp tất cả các tệp đầu vào.

Biến Bổ ngữ
Mở rộng biến có thể được sửa đổi để chọn hoặc sửa đổi từng từ của biến (trong đó
“Từ” là chuỗi ký tự được phân tách bằng khoảng trắng). Định dạng chung của một biến
mở rộng như sau:

{biến [: modifier [: ...]]}

Mỗi bổ ngữ bắt đầu bằng dấu hai chấm và một trong các ký tự đặc biệt sau. Dấu hai chấm
có thể được thoát bằng dấu gạch chéo ngược ('\').

:C/Belt Hold/thay thế/[1g]
Sửa đổi từng từ của giá trị, thay thế mọi đối sánh của thông thường mở rộng
biểu hiện Belt Hold (xem định dạng lại(7)) với ed(1)-phong cách thay thế chuỗi.
Thông thường, lần xuất hiện đầu tiên của mẫu trong mỗi từ của giá trị là
đã thay đổi. Bổ ngữ '1' khiến sự thay thế chỉ áp dụng cho nhiều nhất một từ;
bổ ngữ 'g' làm cho sự thay thế áp dụng cho nhiều trường hợp của
mẫu tìm kiếm xuất hiện trong từ hoặc các từ mà nó được tìm thấy. Lưu ý rằng '1' và
'g' là trực giao; cái trước chỉ định liệu nhiều từ có khả năng
bị ảnh hưởng, sau này cho dù nhiều sự thay thế có thể xảy ra trong
mỗi từ bị ảnh hưởng.

:E Thay thế mỗi từ trong biến bằng hậu tố của nó.

:H Thay thế mỗi từ trong biến bằng mọi thứ trừ thành phần cuối cùng.

:L Chuyển biến thành chữ thường. (không dùng nữa)

:MBelt Hold Chỉ chọn những từ phù hợp với phần còn lại của bổ ngữ. Vỏ tiêu chuẩn
các ký tự đại diện ('*', '?', và '[]') có thể được sử dụng. Các ký tự đại diện
có thể được thoát bằng dấu gạch chéo ngược ('\').

:NBelt Hold Điều này giống hệt với :M, nhưng chọn tất cả các từ không khớp với phần còn lại của
bổ ngữ.

:O Sắp xếp mọi từ trong biến theo thứ tự bảng chữ cái.

:Q Trích dẫn mọi ký tự meta shell trong biến, để nó có thể được chuyển
một cách an toàn thông qua các lệnh gọi đệ quy của làm cho.

:R Thay thế mỗi từ trong biến bằng mọi thứ trừ hậu tố của nó.

:S/chuỗi cũ/chuỗi_mới/[g]
Sửa đổi lần xuất hiện đầu tiên của chuỗi cũ trong mỗi từ của giá trị của biến,
thay thế nó bằng chuỗi_mới. Nếu một 'g' được thêm vào dấu gạch chéo cuối cùng của
mẫu, tất cả các lần xuất hiện trong mỗi từ đều được thay thế. Nếu như chuỗi cũ bắt đầu bằng một
dấu mũ ('^'), chuỗi cũ được neo ở đầu mỗi từ. Nếu như
chuỗi cũ kết thúc bằng ký hiệu đô la ('$'), nó được neo ở cuối mỗi
từ. Trong chuỗi_mới, dấu và ('&') được thay thế bằng chuỗi cũ. Bất kì
ký tự có thể được sử dụng làm dấu phân cách cho các phần của chuỗi bổ trợ. Các
các ký tự neo, dấu và và dấu phân cách có thể được thoát bằng dấu gạch chéo ngược
('\').

Sự mở rộng biến đổi xảy ra theo kiểu bình thường bên trong cả hai chuỗi cũ
chuỗi_mới với một ngoại lệ duy nhất là dấu gạch chéo ngược được sử dụng để ngăn chặn
mở rộng của một ký hiệu đô la ('$'), không phải là một ký hiệu đô la đứng trước như thường lệ.

: old_string = new_string
Đây là kiểu thay thế biến kiểu AT&T System V UNIX. Nó phải là cuối cùng
bổ ngữ được chỉ định. Nếu như chuỗi cũ or chuỗi_mới không chứa mẫu
nhân vật phù hợp % thì giả định rằng chúng được neo ở cuối
mỗi từ, vì vậy chỉ có thể thay thế các hậu tố hoặc toàn bộ từ. Nếu không thì %
chuỗi con của chuỗi cũ được thay thế trong chuỗi_mới.

:T Thay thế mỗi từ trong biến bằng thành phần cuối cùng của nó.

: tl Chuyển biến thành chữ thường.

: tu Chuyển biến thành chữ hoa.

:U Chuyển biến thành chữ hoa. (không dùng nữa)

:u Xóa các từ trùng lặp liền kề (như độc nhất(1)).

CHỈ ĐẠO, ĐIỀU KIỆN, CHO CUỘC ĐỜI


Các lệnh, điều kiện và vòng lặp for gợi nhớ đến ngôn ngữ lập trình C là
cung cấp làm cho. Tất cả các cấu trúc như vậy được xác định bằng một dòng bắt đầu bằng một dấu chấm duy nhất
('.') tính cách. Các lệnh sau được hỗ trợ:

.bao gồm

.bao gồm "tập tin"
Bao gồm makefile được chỉ định. Các biến giữa dấu ngoặc nhọn hoặc dấu ngoặc kép
dấu ngoặc kép được mở rộng để tạo thành tên tệp. Nếu sử dụng dấu ngoặc nhọn, thì
makefile dự kiến ​​sẽ nằm trong thư mục makefile hệ thống. Nếu dấu ngoặc kép là
được sử dụng, thư mục bao gồm makefile và bất kỳ thư mục nào được chỉ định bằng cách sử dụng -I
tùy chọn được tìm kiếm trước thư mục makefile hệ thống.

.sinclude

.sinclude "tập tin"
Như .bao gồm, nhưng im lặng bỏ qua nếu không thể tìm thấy và mở tệp.

.undef biến
Bỏ xác định biến toàn cục đã chỉ định. Chỉ các biến toàn cục có thể chưa được xác định.

.lỗi tin nhắn
Chấm dứt quá trình xử lý makefile ngay lập tức. Tên tệp của makefile,
dòng mà lỗi đã gặp phải và thông báo được chỉ định được in ra
đầu ra lỗi tiêu chuẩn và làm cho kết thúc bằng mã thoát 1. Các biến trong
thông báo được mở rộng.

.cảnh báo tin nhắn
Phát ra một thông báo cảnh báo. Tên tệp của tệp makefile, dòng có cảnh báo
đã gặp phải và thông báo đã chỉ định được in ra đầu ra lỗi chuẩn.
Các biến trong thông báo được mở rộng.

Các điều kiện được sử dụng để xác định các phần của Makefile để xử lý. Chúng được sử dụng
tương tự như các điều kiện được hỗ trợ bởi C pre-processor. Các điều kiện sau
được hỗ trợ:

.nếu như [!]biểu hiện [nhà điều hành biểu hiện hữu ích. Cảm ơn !]
Kiểm tra giá trị của một biểu thức.

.ifdef [!]biến [nhà điều hành biến hữu ích. Cảm ơn !]
Kiểm tra giá trị của một biến.

.ifndef [!]biến [nhà điều hành biến hữu ích. Cảm ơn !]
Kiểm tra giá trị của một biến.

.ifmake [!]mục tiêu [nhà điều hành mục tiêu hữu ích. Cảm ơn !]
Kiểm tra mục tiêu đang được xây dựng.

.ifnmake [!]mục tiêu [nhà điều hành mục tiêu hữu ích. Cảm ơn !]
Kiểm tra mục tiêu đang được xây dựng.

.khác Đảo ngược ý nghĩa của điều kiện cuối cùng.

.elif [!]biểu hiện [nhà điều hành biểu hiện hữu ích. Cảm ơn !]
Một sự kết hợp của .khác tiếp theo .nếu như.

.elifdef [!]biến [nhà điều hành biến hữu ích. Cảm ơn !]
Một sự kết hợp của .khác tiếp theo .ifdef.

.elifndef [!]biến [nhà điều hành biến hữu ích. Cảm ơn !]
Một sự kết hợp của .khác tiếp theo .ifndef.

.elifmake [!]mục tiêu [nhà điều hành mục tiêu hữu ích. Cảm ơn !]
Một sự kết hợp của .khác tiếp theo .ifmake.

.elifnmake [!]mục tiêu [nhà điều hành mục tiêu hữu ích. Cảm ơn !]
Một sự kết hợp của .khác tiếp theo .ifnmake.

.endif Kết thúc phần nội dung của điều kiện.

Sản phẩm nhà điều hành có thể là bất kỳ điều nào sau đây:

|| Logic HOẶC

&& Logic AND; ưu tiên cao hơn '||'.

Như trong C, làm cho sẽ chỉ đánh giá một điều kiện trong chừng mực cần thiết để xác định
giá trị. Dấu ngoặc đơn có thể được sử dụng để thay đổi thứ tự đánh giá. Toán tử boolean '!'
có thể được sử dụng để phủ định một cách hợp lý toàn bộ một điều kiện. Nó được ưu tiên cao hơn
'&&'.

Giá trị của biểu hiện có thể là bất kỳ điều nào sau đây:

xác định Lấy tên biến làm đối số và đánh giá là true nếu biến có
đã được xác định.

làm cho Lấy tên mục tiêu làm đối số và đánh giá là true nếu mục tiêu là
được chỉ định như một phần của làm chodòng lệnh của hoặc được khai báo là mục tiêu mặc định
(hoặc ngầm hiểu hoặc rõ ràng, xem .CHỦ CHỐT) trước dòng chứa
có điều kiện.

trống Lấy một biến, với các công cụ sửa đổi có thể có và đánh giá là true nếu
mở rộng biến sẽ dẫn đến một chuỗi trống.

tồn tại Lấy tên tệp làm đối số và đánh giá là true nếu tệp tồn tại. Các
tệp được tìm kiếm trên đường dẫn tìm kiếm hệ thống (xem .CON ĐƯỜNG).

mục tiêu Lấy tên mục tiêu làm đối số và đánh giá là true nếu mục tiêu là
xác định.

An biểu hiện cũng có thể là so sánh số hoặc chuỗi: trong trường hợp này, phía bên trái
phải be một mở rộng biến, trong khi phía bên phải có thể là một hằng số hoặc một biến
sự bành trướng. Mở rộng biến được thực hiện ở cả hai phía, sau đó các giá trị kết quả
được so sánh. Một giá trị được hiểu là hệ thập lục phân nếu nó đứng trước 0x, nếu không thì nó
là số thập phân; số bát phân không được hỗ trợ.

So sánh chuỗi chỉ có thể sử dụng '==' hoặc là '!=toán tử ', trong khi giá trị số (cả hai
số nguyên và dấu phẩy động) cũng có thể được so sánh bằng cách sử dụng '>','>=','<'Và'<='
khai thác.

Nếu không có toán tử quan hệ nào (và giá trị bên phải) được đưa ra, thì một ẩn '!= 0' Được sử dụng.
Tuy nhiên, hãy hết sức cẩn thận khi sử dụng tính năng này, đặc biệt khi biến bên trái
mở rộng trả về một chuỗi.

Thời Gian làm cho đang đánh giá một trong những biểu thức điều kiện này và nó gặp một từ mà nó
không nhận ra, biểu thức "tạo" hoặc "xác định" được áp dụng cho nó, tùy thuộc vào
hình thức của điều kiện. Nếu hình thức là .nếu như, .ifdef or .ifndef, "được xác định"
biểu thức được áp dụng. Tương tự, nếu biểu mẫu là .ifmake or .ifnmake, biểu thức "make"
được áp dụng.

Nếu điều kiện đánh giá là true thì quá trình phân tích cú pháp của makefile vẫn tiếp tục như trước. Nếu nó
đánh giá thành false, các dòng sau bị bỏ qua. Trong cả hai trường hợp, điều này tiếp tục cho đến khi
.khác or .endif được tìm thấy.

Vòng lặp for thường được sử dụng để áp dụng một bộ quy tắc cho danh sách các tệp. Cú pháp của một
vòng lặp for là:

.cho biến in biểu hiện

.endfor

Sau khi cho biểu hiện được đánh giá, nó được chia thành các từ. Sự lặp lại biến is
được đặt liên tiếp cho từng từ và được thay thế trong đưa ra những quy tắc bên trong cơ thể của cho
Vòng lặp.

GÓP Ý


Nhận xét bắt đầu bằng ký tự băm ('#'), ở bất kỳ đâu ngoại trừ trong dòng lệnh shell, và
tiếp tục đến cuối dòng.

DÒNG MÁY CÁN BIÊN DẠNG ĐẶT BIỆT NGUỒN


.PHỚT LỜ Bỏ qua bất kỳ lỗi nào từ các lệnh được liên kết với mục tiêu này, chính xác như thể
tất cả chúng đều được bắt đầu bằng dấu gạch ngang ('-').

.CHẾ TẠO Thực thi các lệnh được liên kết với mục tiêu này ngay cả khi -n or -t lựa chọn
đã được chỉ định. Thường được sử dụng để đánh dấu đệ quy làm cho'S.

.KHÔNG CÓ Thông thường làm cho chọn mục tiêu đầu tiên nó gặp làm mục tiêu mặc định
được xây dựng nếu không có mục tiêu nào được chỉ định. Nguồn này ngăn mục tiêu này
đã chọn.

.KHÔNG BẮT BUỘC Nếu mục tiêu được đánh dấu bằng thuộc tính này và làm cho không thể tìm ra cách
tạo nó, nó sẽ bỏ qua thực tế này và cho rằng tệp không cần thiết hoặc đã
tồn tại.

.QUÝ GIÁ Thời Gian làm cho bị gián đoạn, nó sẽ xóa mọi mục tiêu được tạo một phần. Nguồn này
ngăn mục tiêu bị xóa.

.IM LẶNG Không lặp lại bất kỳ lệnh nào được liên kết với mục tiêu này, chính xác như thể chúng
tất cả đều được bắt đầu bằng dấu tại ('@').

.SỬ DỤNG Biến mục tiêu thành làm chophiên bản của một macro. Khi mục tiêu được sử dụng làm
nguồn cho mục tiêu khác, mục tiêu khác nhận các lệnh, nguồn và
thuộc tính (ngoại trừ .SỬ DỤNG) của nguồn. Nếu mục tiêu đã có lệnh,
các .SỬ DỤNG các lệnh của mục tiêu được thêm vào chúng.

.ĐỢI ĐÃ Nếu đặc biệt .ĐỢI ĐÃ nguồn xuất hiện trong một dòng phụ thuộc, các nguồn đứng trước
nó được thực hiện trước các nguồn kế thừa nó trong dòng. Vòng lặp không được
được phát hiện và các mục tiêu tạo thành vòng lặp sẽ bị bỏ qua một cách im lặng.

DÒNG MÁY CÁN BIÊN DẠNG ĐẶT BIỆT MỤC TIÊU


Các mục tiêu đặc biệt có thể không được bao gồm với các mục tiêu khác, tức là chúng phải là mục tiêu duy nhất
được chỉ định.

.BẮT ĐẦU Bất kỳ dòng lệnh nào được đính kèm với mục tiêu này đều được thực thi trước bất kỳ dòng lệnh nào khác
làm xong.

.VỠ NỢ Đây là một loại .SỬ DỤNG quy tắc cho bất kỳ mục tiêu nào (chỉ được sử dụng làm nguồn)
làm cho không thể tìm ra bất kỳ cách nào khác để tạo. Chỉ có tập lệnh shell được sử dụng.
Sản phẩm .IMPSRC biến của một mục tiêu kế thừa .VỠ NỢlệnh của được đặt thành
tên riêng của mục tiêu.

END. Bất kỳ dòng lệnh nào được đính kèm với mục tiêu này đều được thực thi sau khi mọi thứ khác
làm xong.

.PHỚT LỜ Đánh dấu từng nguồn bằng .PHỚT LỜ thuộc tính. Nếu không có nguồn
được chỉ định, điều này tương đương với việc chỉ định -i tùy chọn.

.BAO GỒM Danh sách các hậu tố cho biết tệp có thể được đưa vào tệp nguồn.
Hậu tố phải đã được khai báo với .Hậu Tố; bất kỳ hậu tố nào cũng vậy
được khai báo sẽ có các thư mục trên đường dẫn tìm kiếm của nó (xem .CON ĐƯỜNG) được đặt trong
.BAO GỒM biến đặc biệt, mỗi biến đứng trước một -I cờ.

.NGẮT If làm cho bị ngắt, các lệnh cho mục tiêu này sẽ được thực hiện.

.LIBS Điều này làm cho thư viện những gì .BAO GỒM không bao gồm các tệp, ngoại trừ
cờ được sử dụng là -L.

.CHỦ CHỐT Nếu không có mục tiêu nào được chỉ định khi làm cho được gọi, mục tiêu này sẽ được tạo. Điều này
luôn được đặt, rõ ràng hoặc ẩn khi làm cho chọn mặc định
mục tiêu, để cung cấp cho người dùng một cách để tham chiếu đến mục tiêu mặc định trên lệnh
hàng.

.MAKEFILEDEPS
Bật chức năng “Làm lại trang điểm”, như được giải thích trong BỎ LỠ
TỆP TẠO phần bên dưới.

.MAKEFLAGS Mục tiêu này cung cấp một cách để chỉ định cờ cho làm cho khi makefile được sử dụng.
Các cờ giống như thể được nhập vào shell, mặc dù -f tùy chọn sẽ không có
hiệu ứng. Cờ (ngoại trừ -f) và các phép gán biến được chỉ định làm nguồn
đối với mục tiêu này cũng được thêm vào .MAKEFLAGS biến nội bộ. Xin vui lòng
lưu ý sự khác biệt giữa mục tiêu này và .MAKEFLAGS biến nội bộ:
chỉ định một tùy chọn hoặc phép gán biến làm nguồn cho mục tiêu này sẽ
ảnh hưởng đến cả hai makefile hiện tại và tất cả các quy trình làm cho thực thi.

.MFLAGS Tương tự như trên, để tương thích ngược.

.KHÔNG SONG SONG
Tắt chế độ song song.

.NO_PARALLEL
Tương tự như trên, để tương thích với chiều biến thể.

.ĐẶT HÀNG Các mục tiêu được đặt tên được thực hiện theo trình tự.

.CON ĐƯỜNG Nguồn là các thư mục được tìm kiếm cho các tệp không được tìm thấy trong
thư mục hiện tại. Nếu không có nguồn nào được chỉ định, bất kỳ nguồn nào được chỉ định trước đó
thư mục bị xóa. Nếu có thể, hãy sử dụng .CON ĐƯỜNG được ưu tiên hơn là sử dụng
các VPATH biến.

.CON ĐƯỜNGhậu tố
Các nguồn là các thư mục sẽ được tìm kiếm cho các tệp có hậu tố không
tìm thấy trong thư mục hiện tại. Các làm cho tiện ích đầu tiên tìm kiếm hậu tố
đường dẫn tìm kiếm, trước khi hoàn nguyên về đường dẫn mặc định nếu không tìm thấy tệp
ở đó. Biểu mẫu này được yêu cầu cho .LIBS.BAO GỒM để làm việc.

.PHONY Áp dụng .PHONY thuộc tính cho bất kỳ nguồn cụ thể nào. Nhắm mục tiêu với cái này
thuộc tính luôn được coi là lỗi thời.

.POSIX Điều chỉnh làm chohành vi của phù hợp với các thông số kỹ thuật POSIX hiện hành. (Lưu ý điều này
tắt tính năng “Làm lại trang điểm”.)

.QUÝ GIÁ Áp dụng .QUÝ GIÁ thuộc tính cho bất kỳ nguồn cụ thể nào. Nếu không có nguồn
được chỉ định, .QUÝ GIÁ thuộc tính được áp dụng cho mọi mục tiêu trong tệp.

.VỎ BỌC Chọn một trình bao khác. Các nguồn của mục tiêu này có định dạng chính=giá trị.
Sản phẩm chính là một trong những:

con đường Chỉ định đường dẫn đến trình bao mới.

tên Chỉ định tên của trình bao mới. Đây có thể là một trong những
ba shell nội trang (xem bên dưới) hoặc bất kỳ tên nào khác.

yên tĩnh Chỉ định lệnh shell để tắt tiếng vọng.

bỏ lỡ Chỉ định lệnh shell để bật tiếng vọng.

lọc Thông thường shell in lệnh tắt tiếng vang trước khi tắt tiếng vang.
Đây là chuỗi chính xác sẽ được in bởi shell và là
dùng để lọc đầu ra shell để loại bỏ lệnh echo off.

cờ tiếng vang Tùy chọn trình bao bật tiếng vọng.

cờ lỗi Tùy chọn trình bao để bật kiểm tra lỗi. Nếu tính năng kiểm tra lỗi được bật,
shell sẽ thoát ra nếu một lệnh trả về trạng thái khác XNUMX.

hasErrCtl Đúng nếu trình bao có kiểm soát lỗi.

kiểm tra If hasErrCtl là đúng thì đây là lệnh shell để chuyển lỗi
đang kiểm tra. Nếu như hasErrCtl là sai thì đây là một mẫu lệnh
để lặp lại các lệnh mà tính năng kiểm tra lỗi bị vô hiệu hóa. Bản mẫu
phải chứa '% s'.

bỏ qua If hasErrCtl là đúng, đây là lệnh shell để chuyển lỗi
kiểm tra. Nếu như hasErrCtl là sai, đây là một mẫu lệnh để
thực hiện một lệnh để các lỗi được bỏ qua. Mẫu phải
chứa '% s'.

meta Đây là một chuỗi ký tự meta của shell.

nội trang Đây là một chuỗi chứa tất cả các lệnh nội trang của trình bao được phân tách
bởi khoảng trống. Các metanội trang chuỗi được sử dụng trong chế độ compat.
Khi một dòng lệnh không chứa ký tự meta hoặc bắt đầu bằng
một nội trang của trình bao, nó được thực thi trực tiếp mà không cần gọi một trình bao.
Khi một trong các chuỗi này (hoặc cả hai) trống, tất cả các lệnh đều
được thực thi thông qua một trình bao.

unsetenv Nếu đúng, hãy xóa biến môi trường ENV trước khi thực thi bất kỳ
yêu cầu. Điều này rất hữu ích cho Korn-shell (ksh).

Giá trị là chuỗi phải được bao quanh bởi dấu ngoặc kép. Giá trị boolean là
được chỉ định là 'T' hoặc 'Y' (trong cả hai trường hợp) có nghĩa là đúng. Bất kỳ giá trị nào khác được lấy
nghĩa là sai.

Có một số cách sử dụng .VỎ BỌC Mục tiêu:

· Chọn một trong các shell nội trang. Điều này được thực hiện bằng cách chỉ định
tên của vỏ với tên từ khóa. Nó cũng có thể sửa đổi
tham số của shell nội trang bằng cách chỉ định các từ khóa khác (ngoại trừ
cho con đường).

· Sử dụng tệp thực thi khác cho một trong các trình bao nội trang. Điều này được thực hiện bởi
chỉ định đường dẫn đến tệp thực thi với con đường từ khóa. Nếu cuối cùng
thành phần giống như tên của shell nội trang, không cần phải có tên
được chỉ định; nếu nó khác, tên phải được cung cấp:

.SHELL: path = "/ usr / local / bin / sh"

chọn shell nội trang “sh” nhưng sẽ thực thi nó từ / usr / local / bin / sh.
Giống như trong trường hợp trước, có thể sửa đổi các tham số của
shell nội trang bằng cách chỉ định chúng.

· Sử dụng một vỏ hoàn toàn khác. Điều này được thực hiện bằng cách chỉ định tất cả các từ khóa.

Các shell nội trang là “sh”, “csh” và “ksh”. Bởi vì FreeBSD không có ksh in
/ thùng rác, thật không khôn ngoan nếu chỉ định tên= "ksh" mà không chỉ định đường dẫn.

.IM LẶNG Áp dụng .IM LẶNG thuộc tính cho bất kỳ nguồn cụ thể nào. Nếu không có nguồn
được chỉ định, .IM LẶNG thuộc tính được áp dụng cho mọi lệnh trong tệp.

.Hậu Tố Mỗi nguồn chỉ định một hậu tố cho làm cho. Nếu không có nguồn nào được chỉ định, bất kỳ
các hậu tố được chỉ định trước đó sẽ bị xóa.

.CẢNH BÁO Mỗi nguồn chỉ định một cờ cảnh báo như đã mô tả trước đây cho -x lệnh
tùy chọn dòng. Cờ cảnh báo được chỉ định trên dòng lệnh được ưu tiên hơn
cờ được chỉ định trong makefile. Ngoài ra, cờ cảnh báo dòng lệnh được đẩy đến
tạo phụ thông qua các biến môi trường MAKEFLAGS để một cờ cảnh báo
được chỉ định trên dòng lệnh sẽ ảnh hưởng đến tất cả các sản phẩm con. Một số cờ có thể
được chỉ định trên một .CẢNH BÁO nhắm mục tiêu bằng cách tách chúng bằng khoảng trống.

BỎ LỠ TỆP TẠO


Nếu mục tiêu đặc biệt .MAKEFILEDEPS tồn tại trong Makefile, làm cho cho phép “Làm lại
Tính năng Makefiles ”. Sau khi đọc Makefile và tất cả các tệp được bao gồm bằng cách sử dụng
.bao gồm or .sinclude chỉ thị (nguồn Makefiles) làm cho coi mỗi Makefile nguồn như một
nhắm mục tiêu và cố gắng xây dựng lại nó. Cả hai quy tắc rõ ràng và ẩn đều được kiểm tra và tất cả đều là nguồn
Makefiles được cập nhật nếu cần thiết. Nếu bất kỳ Makefiles nguồn nào được tạo lại, làm cho
khởi động lại từ trạng thái sạch.

Để ngăn các vòng lặp vô hạn, các mục tiêu Makefile nguồn sau sẽ bị bỏ qua:

· :: mục tiêu không có điều kiện tiên quyết

· ! mục tiêu

· mục tiêu có .PHONY or .EXEC thuộc tính

· mục tiêu không có điều kiện tiên quyết và không có lệnh

Khi tạo lại một tùy chọn Makefile nguồn -t (chạm vào mục tiêu), -q (chế độ truy vấn) và -n (không có giám đốc điều hành)
không có hiệu lực, trừ khi Makefile nguồn được chỉ định rõ ràng làm mục tiêu trong làm cho
dòng lệnh.

Ngoài ra, cấu hình hệ thống và .lệ thuộc không được coi là Makefiles có thể được
được xây dựng lại.

MÔI TRƯỜNG


Sản phẩm làm cho tiện ích sử dụng các biến môi trường sau, nếu chúng tồn tại: MACHINE, MAKE,
MAKEFLAGS, MAKEOBJDIR, MAKEOBJDIRPREFIX và MAKESYSPATH.

Sử dụng fmake trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    sạch sâu
    sạch sâu
    Một tập lệnh Kotlin kích hoạt tất cả các bản dựng
    cache từ các dự án Gradle/Android.
    Hữu ích khi Gradle hoặc IDE cho phép bạn
    xuống. Kịch bản đã được thử nghiệm trên
    macOS, nhưng ...
    Tải xuống sạch sâu
  • 2
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm thêm Eclipse Checkstyle
    tích hợp mã Checkstyle Java
    đánh giá viên vào IDE Eclipse. Các
    plug-in cung cấp phản hồi theo thời gian thực để
    người dùng về vi phạm ...
    Tải xuống Trình cắm kiểu kiểm tra Eclipse
  • 3
    AstrOrzNgười Chơi
    AstrOrzNgười Chơi
    AstrOrz Player là trình phát đa phương tiện miễn phí
    phần mềm, một phần dựa trên WMP và VLC. Các
    người chơi theo phong cách tối giản, với
    hơn mười màu chủ đề và cũng có thể
    b ...
    Tải xuống AstrOrzPlayer
  • 4
    phim trường
    phim trường
    Kodi Movistar+ TV là một ADDON cho XBMC/
    Kodi que allowe disponer de un
    bộ giải mã dịch vụ IPTV
    Tích hợp Movistar en uno de los
    trung tâm truyền thông ...
    Tải phimstartv
  • 5
    Mã :: Khối
    Mã :: Khối
    Code::Blocks là mã nguồn mở, miễn phí,
    đa nền tảng C, C++ và Fortran IDE
    được xây dựng để đáp ứng những nhu cầu khắt khe nhất
    của người dùng của nó. Nó được thiết kế rất
    mở rộng ...
    Tải xuống mã::Khối
  • 6
    Ở giữa
    Ở giữa
    Giao diện Minecraft giữa hoặc nâng cao
    và Theo dõi Dữ liệu / Cấu trúc là một công cụ để
    hiển thị tổng quan về Minecraft
    thế giới mà không thực sự tạo ra nó. Nó
    có thể ...
    Tải về giữa
  • Khác »

Lệnh Linux

Ad