Đây là lệnh makeppinfo 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
makeppinfo - Makepp biết gì về tệp
MÔ TẢ
?: - ?, A: -MỘT,
--args-tệp,
--arguments-tệp, D: -NS,
--ngày,
--decode-date, F: -NS,
--lực lượng, H: -NS,
--Cứu giúp, K: -k,
--danh sách chìa khóa,
--key, M: $ MAKEPPINFOFLAGS, Q: -NS,
--Yên lặng, T: -NS,
--đi qua, U: -bạn,
--không nhớ, V: -V,
--phiên bản
thông tin trang điểm tùy chọn [tập tin ...]
mppi tùy chọn [tập tin ...]
Makepp ghi nhớ thông tin chi tiết về các tệp mà nó đã quét và / hoặc xây dựng. Cho
các tệp được xây dựng nó ghi nhớ mọi thứ có liên quan, bao gồm cả các phần phụ thuộc của chúng.
Thông tin này được lưu trữ trong .makepp thư mục con cùng với tệp mà nó liên quan. Nó
có dạng các cặp khóa-giá trị. Trong một số trường hợp, giá trị sẽ lại là danh sách
các cặp liên kết, thường là chữ ký và tệp.
Nếu cả "ENV_DEPS" và "ENV_VALS" được hiển thị, chúng sẽ được hợp nhất thành một bảng hai cột.
Nếu cả "DEP_SIGS" và "SORTED_DEPS" đều được hiển thị, chúng sẽ được hợp nhất thành một cột hai
bảng (theo thứ tự này mang lại bố cục tốt hơn). Mỗi phần phụ thuộc có một "CHỮ KÝ"
chỉ là "dấu thời gian, kích thước", chỉ được sử dụng để kiểm tra xem tệp có phải được quét lại hay không. Vì
các liên kết tượng trưng lủng lẳng, thay vì chữ ký của linkee, chữ ký riêng của liên kết là
được xác định theo cách này, và thêm số 0 để đánh dấu trường hợp đặc biệt này. Thú vị
thông tin được lưu trữ trong một số khóa khác, cho các chữ ký tích hợp như sau:
· "C_MD5_SUM" cho "C" hoặc "c_compilation_md5"
· "MD5_SUM" cho "md5"
· "SHARED_OBJECT" cho "shared_object"
· "V_MD5_SUM" cho "Verilog_synthesis_md5"
· "XML_MD5_SUM" cho "xml"
· "XML_SPACE_MD5_SUM" cho "xml_space"
Những danh sách chữ ký này là lý do thường xuyên nhất để xây dựng lại một tệp, vì vậy bạn có thể
muốn kiểm tra xem chữ ký được lưu trữ cho một phần phụ thuộc có khớp với hiện tại không
"BUILD_SIGNATURE" của tệp đó. Nếu chữ ký và mọi thứ khác khớp nhau, nghĩa là
cơ sở để lấy tệp từ (một trong các) kho lưu trữ của bạn hoặc xây dựng bộ nhớ cache nếu nó được tìm thấy
ở đó. Các chi tiết phụ thuộc vào phương pháp kiểm tra bản dựng áp dụng.
Bạn sẽ gặp hai loại chữ ký: chữ ký đơn giản bao gồm hai dấu phẩy được phân tách
số, là dấu thời gian ở định dạng hệ thống tệp (giây kể từ năm 1970) và kích thước.
Đối với một số tệp, makepp cũng sẽ có chữ ký thông minh có liên quan, đó là một
Tổng MD64 được mã hóa base5 (chữ cái, chữ số, dấu gạch chéo và dấu cộng) của tệp thuần túy hoặc đã tiêu hóa
nội dung.
Lệnh này một phần là một công cụ gỡ lỗi makepp. Danh sách các khóa khác nhau tùy thuộc vào
máy quét, kiểm tra bản dựng và chữ ký đã được sử dụng. Để hiểu đầy đủ về kết quả đầu ra, bạn có thể cần
để xem mã nguồn. Điều đó nói rằng, cũng có một số nói chung thú vị
thông tin được nhận.
Các tùy chọn hợp lệ là:
-A tên tập tin
--args-file =tên tập tin
--arguments-file =tên tập tin
Đọc tệp và phân tích cú pháp nó có thể được trích dẫn khoảng trắng- và / hoặc được phân tách bằng dòng mới
tùy chọn.
-d
--ngày
--decode-date
Trong các chữ ký đơn giản, hãy thêm số đầu tiên, ngày-giờ thô, với con người của nó
dạng có thể đọc được trong ngoặc đơn.
-f
--lực lượng
Hiển thị thông tin ngay cả khi thông tin đó không hợp lệ do tệp không tồn tại hoặc đã được sửa đổi. Trong này
trong trường hợp khóa "SIGNATURE" được thay thế bằng "validated_SIGNATURE" và giá trị
cho biết trong ngoặc đơn rằng tệp đã bị xóa hoặc tệp hiện có chữ ký nào.
-?
-h
--Cứu giúp
In ra một bản tóm tắt ngắn gọn về các tùy chọn.
-k
--key =
--keylist =
chỉ định một hoặc nhiều mẫu kiểu Shell được phân tách bằng dấu cách (với [xyz],?, *,
{a, bc, def}). Hãy nhớ bảo vệ chúng khỏi Shell của bạn bằng cách trích dẫn. Chúng được kết hợp
chống lại các phím. Mỗi mẫu có thể được đặt trước bằng dấu chấm than ("!") Hoặc dấu
dấu mũ ("^") để loại trừ các khóa phù hợp khỏi những khóa đã chọn trước đó thay vì thêm
chúng vào vùng lựa chọn. Nếu mẫu đầu tiên bắt đầu bằng dấu chấm than, nó
hoạt động trên tất cả các phím.
--keys = 'COMMAND CWD' # Cái này được tạo ra như thế nào và ở đâu (liên quan đến tệp).
Nếu bạn chỉ muốn tên tệp (hữu ích với "-t | --traverse"), hãy chọn một khóa không tồn tại như
"không ai".
-q
--Yên lặng
Không liệt kê tên tệp và khóa. Lặp lại để bỏ qua cảnh báo.
-t
--đi qua
Đồng thời xuất cùng một thông tin cho mỗi tệp trong SORTED_DEPS (đệ quy nếu
lặp đi lặp lại).
-u
--không nhớ
Traverse phụ thuộc của các tệp đã cho, nhưng thay vì hiển thị thông tin của chúng, từ tất cả
các thư mục liên quan chỉ liệt kê những tệp không được nhớ cho các mục tiêu này. Các
ý tưởng ở đây là giúp bạn phát hiện các tệp không cần thiết nữa. Hơi ngạc nhiên là điều này sẽ
bao gồm các tệp Makefiles từ các thư mục đó, bởi vì chúng hầu như không phải là
sự phụ thuộc.
Đưa ra tùy chọn này hai lần cũng sẽ chuyển đến các thư mục ở xa mà không phải là đầu ra
tương đối, như / usr / bao gồm.
-V
--phiên bản
In ra số phiên bản.
VÍ DỤ
Tổng quan
Mỗi phương pháp kiểm tra bản dựng ghi lại cách xem họ đưa ra quyết định dựa trên cơ sở nào. Phát hiện
các đường dẫn của các phần phụ thuộc là giống nhau trong mọi trường hợp, vì vậy nó được hiển thị ở đây. Nếu bạn xây dựng
đến một thư mục khác, việc tìm kiếm đường dẫn của các đầu vào yêu cầu một bản dịch liên quan
cho trẻ khuyết tật. Ví dụ: dạng ngắn hoặc dạng dài:
makeppinfo --keys = 'CWD SORTED_DEPS' obj / bo
mppi -k'CWD SORTED_DEPS 'obj / bo
obj / bo:
CWD = .. / src
SORTED_DEPS =
bc
inc / bh
/ usr / bin / gcc
CWD là thư mục liên quan đến tệp, từ nơi nó được xây dựng. Thư mục đó là một
từ nơi tất cả các đường dẫn tương đối trong SORTED_DEPS bắt đầu. Điều này có nghĩa là dưới cùng một
thư mục chúng tôi có đầu vào src / bc và src / inc / bh và một đầu ra obj / bo. Từ
quan điểm của bo, đầu vào là ../src/bc và ../src/inc/bh. Nó không quan trọng
chúng tôi đã đưa ra một con đường tương đối cho bo, thông tin được hiển thị sẽ giống nhau, nếu chúng tôi đầu tiên
thay đổi để obj.
lý do cho a xây dựng lại
Trong một số trường hợp, makepp có thể liên tục xây dựng lại một tệp có vẻ như đã cập nhật. Nếu như
"makepplog" không hữu ích ở đây, lệnh này cung cấp cho bạn trạng thái chính xác của sự việc:
makeppinfo - đảo ngược somefile
mppi -t một số tập tin
Khi điều này xảy ra có thể lặp lại, hãy đưa ra lệnh này trước và sau đó và so sánh
kết quả đầu ra. Những điều khác biệt là lý do của việc xây dựng lại.
Chứng minh Tính nhất quán
Đôi khi bạn sẽ thay đổi Makefiles của mình và tự hỏi liệu chúng có còn làm điều tương tự không.
Đây là một lệnh cho bạn biết chính xác cách tạo ra makepp tập tin nào đó:
makeppinfo --traverse --traverse --keys = 'CWD COMMAND' somefile
mppi -ttk'CWD SORTED_DEPS 'somefile
Điều này sẽ duyệt đệ quy qua tất cả các phụ thuộc của tập tin nào đó và cho bạn biết trong đó
thư mục nó đã phát hành lệnh nào. Bằng cách chạy cái này sau bản cũ và sau bản dựng mới
và so sánh các kết quả đầu ra, bạn có thể thấy những gì đã thay đổi.
Điều tương tự cũng hoạt động để thử nghiệm phiên bản makepp mới, mặc dù một số phiên bản cũ hơn sẽ
xử lý khoảng trắng trong các dòng tiếp tục lệnh theo cách khác và có một lỗi trong sắp xếp
thứ tự, có thể làm cho các tệp xuất hiện theo một thứ tự khác. Nếu đây là trường hợp cho
bạn, hãy để Shell tập hợp các đối số được sắp xếp:
makeppinfo --keys = 'CWD COMMAND' 'makeppinfo --traverse --traverse --keys = none somefile | tr -d: | sort`
mppi -k'CWD SORTED_DEPS '' mppi -ttknone somefile | tr -d: | sort`
MÔI TRƯỜNG
Makeppinfo xem xét biến môi trường sau:
$ MAKEPPINFOFLAGS
Bất kỳ cờ nào trong biến môi trường này đều được hiểu là các tùy chọn dòng lệnh trước đó
bất kỳ tùy chọn rõ ràng nào. Trích dẫn được diễn giải giống như trong makefiles.
Sử dụng makeppinfo trực tuyến bằng các dịch vụ onworks.net