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

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

makepp_faq - Trực tuyến trên Đám mây

Chạy makepp_faq trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên 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

Đây là lệnh makepp_faq 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


makepp_faq - Câu hỏi thường gặp về makepp

MÔ TẢ


Tại đây, bạn có thể tìm thấy hướng dẫn cài đặt và một số điểm không rõ ràng từ
phần còn lại của tài liệu. Điều này cho thấy những trở ngại, trong khi cách nhập câu hỏi sẽ
được tìm thấy trong sách nấu ăn.

Bắt Bắt đầu
Ở đâu đến tải về?

Makepp được lưu trữ trên SourceForge và có thể được tải xuống dưới dạng tarball mã nguồn hoặc dưới dạng
gói cài đặt cho Debian . Deb dựa trên Linuxes hoặc .rpm dựa trên Linuxes từ
http://sourceforge.net/projects/makepp/files/

Giống như rất nhiều phần mềm Perl, makepp cũng có thể được tải xuống từ CPAN bằng cách nhấp vào
Tải xuống liên kết trên http://search.cpan.org/dist/makepp/

Makepp là một phần của Debian GNU / Linux không ổn định và đang thử nghiệm. Điều này có nghĩa là bạn có thể cài đặt nó
trực tiếp qua "apt-get install makepp" hoặc bằng cách chọn nó từ công cụ gói ưa thích của bạn
như synap.

Makepp là một phần của Archlinux và Gentoo Linux. Lưu ý rằng các hậu tố dành riêng cho bản phân phối như
2.0-1 hoặc 2.0-r1 không phải là ứng cử viên phát hành 1, mà là phiên bản cuối cùng được phát hành 2.0.

Có thể I thử it không có cài đặt?

Có, nếu bạn muốn thử makepp trên trang điểm của riêng mình, hãy đặt thư mục nơi bạn
giải nén nó vào đường dẫn của bạn, hoặc chạy nó một cách rõ ràng như thế này, với giá trị tuyệt đối hoặc
đường dẫn tương đối đến makepp:

perl / where / you / unpacked / it / makepp

Làm thế nào đến chọn perl phiên bản?

Bạn phải có Perl 5.8 hoặc mới hơn ở đâu đó trên hệ thống của mình. Theo mặc định, tất cả đã được gỡ cài đặt
script sẽ sử dụng "perl" trong đường dẫn của bạn. Nhưng bạn có thể chạy chúng với một phiên bản rõ ràng
của perl. Trình chạy thử nghiệm và cài đặt sẽ chạy mọi thứ với cùng một phiên bản này.

/ path / to / perl / where / you / unpacked / it / makepp

Trong trường hợp một số tập lệnh không nhận dạng đúng "perl" mà nó đang được chạy với, bạn có thể
giúp nó bằng cách cho nó biết đường dẫn đến cùng một trường hợp của perl thông qua biến "PERL":

PERL = / path / to / perl / path / to / perl / where / you / unpacked / it / makepp

Đây cũng có thể là một ví dụ được tìm kiếm trong đường dẫn của bạn, nếu nó không chứa
dấu phân tách thư mục:

PERL = perl5.16.2 perl5.16.2 / where / you / unpacked / it / makepp

Làm thế nào đến Tải về?

Có hai cách để cài đặt dẫn đến cùng một kết quả:

cấu hình (bí danh config.pl)
Điều này cho phép cài đặt kiểu truyền thống:

./configure && thực hiện kiểm tra && thực hiện cài đặt

Sự khác biệt duy nhất giữa hai điều này là "config" không phải là tập lệnh Perl, vì vậy bạn
không thể nói "perl configure", trong khi bạn có thể sử dụng tất cả các biến thể ở trên như "perl
config.pl ". Các tùy chọn hợp lệ là:

-b, --bindir =/ path / to / install / bin
Các mã nhị phân đi đến đâu (mặc định: tiếp đầu ngữ/ thùng rác). Các mã nhị phân của Makepp chỉ là Perl
script để chúng độc lập với kiến ​​trúc. Nếu bạn cung cấp tùy chọn này, nhưng không
"--prefix", nó sẽ tách / thùng rác để suy ra một tiếp đầu ngữ cho các giá trị mặc định khác.

-d, --datadir =/ path / to / install / share / makepp
Nơi cài đặt các tệp thư viện của makepp (mặc định: tiếp đầu ngữ/ share / makepp).

-f, --findbin =tương đối / đường dẫn / đến / datadir / từ / bindir
Nơi tìm thư viện liên quan đến tệp thực thi hoặc 'không có' (mặc định) để tìm
họ trong thư mục dữ liệu.

-h, --htmldir =/ path / to / install / share / html
Tài liệu HTML đi đến đâu (mặc định: tiếp đầu ngữ/ doc / makepp nếu tiếp đầu ngữ/ doc
tồn tại, khác thư mục dữ liệu/ html), hoặc 'không có' nếu bạn không muốn cài đặt.

-m, --mandir = /path / to / man
Vị trí của các trang hướng dẫn sử dụng (mặc định: tiếp đầu ngữ/ share / man nếu nó tồn tại, khác
tiếp đầu ngữ/ man), hoặc 'none' nếu bạn không muốn cài đặt chúng.

--makefile =/ path / to / Makefile
Chỉ định vị trí nơi bạn có thể ghi Makefile (mặc định:.). Không giống như cái khác
tùy chọn, được ghi nhớ cho bước cài đặt sau, tệp này được tạo
ngay lập tức.

-p, --prefix =/ path / to / install
Chỉ định vị trí bạn muốn cài đặt mọi thứ (mặc định: / usr / local). Tất cả các
các đường dẫn khác theo mặc định có liên quan đến đường dẫn này.

-V
--phiên bản
In ra số phiên bản.

Nếu bạn muốn thực hiện cài đặt giả lập cho một số đích để đóng gói
phân phối, bạn có thể cung cấp thêm một tham số cho lệnh cuối cùng:

thực hiện cài đặt DESTDIR = / tạm thời / destdir

cài đặt.pl
Đây là phần phụ trợ thực hiện cài đặt thực tế. Bạn có thể gọi trực tiếp:

./install.pl bindir datadir mandir htmldir findbin Destdir

Các tham số là tùy chọn và tương ứng với các tùy chọn từ phần trước.
Bạn được nhắc về những người bạn không cung cấp, ngoại trừ người cuối cùng, không phải
bình thường cần thiết.

Makefile.PL
Tệp thông lệ Makefile.PL hiện chỉ có mặt vì lý do kỹ thuật. Nó
sẽ không giúp bạn cài đặt. Do đó, than ôi, bạn không thể sử dụng các công cụ như "cpanm" để
cài đặt trong một lần.

Trên một số hệ thống, bất kỳ "perl" nào mà bạn gọi cuối cùng có thể là một liên kết tượng trưng đến một số
phiên bản "perl5.mn". Trong trường hợp này, perl chỉ thấy cái đó và do đó sẽ sử dụng nó để
cài đặt chống lại. Nếu bạn không muốn điều đó, hãy sử dụng biến "PERL" như được mô tả ở trên. Nếu như
bạn cài đặt với biến thể thứ hai, tức là chỉ tên của tệp thực thi mà không có dấu gạch chéo,
các tập lệnh đã cài đặt sẽ luôn tìm kiếm tập lệnh đó qua "/ usr / bin / env". Điều này khiến họ
chậm hơn một chút để bắt đầu, để linh hoạt hơn.

Tại sao làm cài đặt nói cho phép từ chối?

Nếu bạn muốn cài đặt vào một thư mục hệ thống như / usr, / usr / local or /opt, bạn chỉ có thể
làm điều đó nếu bạn chạy cài đặt với tư cách người dùng root. Trên nhiều Unices, bạn có thể chạy một lệnh dưới dạng
root, bằng cách thêm "sudo" vào nó và tùy thuộc vào hệ thống nhập vào root
mật khẩu, hoặc của bạn, như được nhắc.

Điều này không cần thiết cho bước chuẩn bị "config" hoặc "config.pl" mà chỉ
viết một makefile trong thư mục hiện tại.

Xây dựng Câu hỏi
Điều gì đang không quan trọng mục tiêu?

Makepp ghi nhớ các phụ thuộc của mọi tệp. Nếu bất kỳ ai trong số họ cần được xây dựng lại,
sẽ được thực hiện trước khi quét lại. Nhưng nếu quá trình xây dựng không thành công, nhưng quá trình quét vẫn thành công, bởi vì
tệp thậm chí không còn cần thiết nữa, thì cuối cùng, lỗi sẽ được báo cáo là
không quan trọng. (Không nên cố gắng xây dựng, thay vào đó hãy để máy quét lại làm những điều đó
xây dựng nó thấy là cần thiết, nhưng điều đó xảy ra ở một nơi khác, vì vậy điều này sẽ là
khó.)

Tại sao làm it chạy điều này loại trừ 3 lần nào?

GNU make không có quy tắc đa mục tiêu theo phong cách makepp. Thay vào đó, nó diễn giải đây là một lối tắt
cho ba quy tắc riêng biệt:

abc:
echo $ @
chạm vào abc

Tuy nhiên, nó không kiểm tra lý do tại sao một tệp ở đó. Nếu tệp tồn tại (và mới hơn bất kỳ tệp nào
phụ thuộc) nó là hạnh phúc. Bất kỳ tệp nào trong ba tệp được tạo trước, cung cấp
hai mục tiêu khác, vì vậy điều này hoạt động giống như một quy tắc đa mục tiêu - nhưng có thể gây ra cuộc đua
điều kiện trong các bản dựng song song.

Một quy tắc tương tự có thể là:

abc:
chạm vào $ @

Gmake thực sự chạy cái này một lần cho mỗi tệp được yêu cầu. Mà không biết lệnh làm gì
(nó có thể là một tập lệnh tạo một số tệp bên trong), hai trường hợp không thể dễ dàng
được nói với nhau bởi makepp.

Vì vậy, như một dự phòng tương thích đặc biệt, nếu một hành động quy tắc nhiều mục tiêu chỉ đề cập đến
kiểu $ @ và không phải kiểu mới "$ (output)" hay "$ (target)" cũng không phải dạng số nhiều của chúng, đó là
được coi như các quy tắc riêng biệt. Tuy nhiên, điều này có nghĩa là chạy nó nhiều lần, vì makepp bỏ qua
xuất hiện ngẫu nhiên các tệp mà nó không có siêu dữ liệu.

Tại sao làm it khiếu nại việc này a tạo ra hồ sơ is rởm?

Nếu bạn có một lệnh tiếp tục hoạt động không đồng bộ, sau khi nó quay trở lại với
mã trả về thành công, makepp sẽ thông báo tệp đã hứa là bị thiếu và khiếu nại. Cái này
cũng có thể thường xảy ra trên một số hệ thống tệp mạng, hệ thống này có thể chỉ ghi về mặt vật lý
vài giây sau.

Nếu bạn không thể tránh được tình huống không hài lòng như vậy, bạn có thể yêu cầu makepp cẩu thả
về việc kiểm tra này với tùy chọn "--gullible". Nhưng sau đó, lệnh tiếp theo phụ thuộc vào
tệp được tạo vẫn có thể không thành công.

Tại sao làm it tái tạo các tập tin không cần thiết?

Tôi đã quan sát thấy điều này trên NFS, trong đó do thuộc tính tệp lưu vào bộ nhớ đệm dấu thời gian của
tệp được sản xuất cuối cùng vẫn chưa phải là tệp mà nó có. Trong lần chạy tiếp theo, makepp nhận thấy
khác biệt và được coi là tệp đã được sửa đổi quá mức. Điều này đã được giải quyết với một tùy chọn gắn kết
của "acregmin = 0", làm cho các thuộc tính hiển thị ngay lập tức.

Điều này cũng có thể xảy ra với kho lưu trữ, ví dụ: nếu ai đó đã xây dựng trong kho lưu trữ
với "umask 066" hoặc sử dụng trình biên dịch ngăn người khác đọc tệp được tạo.
Điều này cũng sẽ xảy ra nếu kho lưu trữ hoặc cây xây dựng của bạn chia sẻ một đường dẫn chung
tiền tố với một số phụ thuộc (ví dụ: / opt / kho/ opt / sometool, trong trường hợp
makepp sẽ nhớ đường dẫn một lần là tương đối và một lần là tuyệt đối, trông giống như đã thay đổi
sự phụ thuộc.

Liệu các C nguồn hồ sơ or các vật hồ sơ phụ thuộc on tiêu đề?

Nó phụ thuộc vào quan điểm của bạn. Nếu một nguyên mẫu trong tiêu đề thay đổi, lập trình viên có thể có
để điều chỉnh mã nguồn. Vì vậy, từ quan điểm đó có một sự phụ thuộc.

Nhưng đối với việc xây dựng, điều này hoàn toàn không liên quan. Ở đây các kết quả đầu ra phụ thuộc vào các đầu vào.
Nếu tệp tiêu đề thay đổi, điều này có thể ảnh hưởng đến tệp đối tượng (ví dụ: bổ sung các tham số với
các giá trị mặc định mà người lập trình có thể bỏ qua, nhưng không bỏ qua trình biên dịch). Vì vậy, từ makepp's
chỉ xem tệp đối tượng được tạo ra phụ thuộc vào tiêu đề, tức là phải được xây dựng lại khi
những thay đổi này.

hỗn hợp
Tại sao làm trang điểm chọn lọc phát hiện phụ thuộc?

Trong quy tắc này, tại sao makepp thực hiện đầu ra phụ thuộc vào đầu vào1, nhưng không phải trên đầu vào2?

đầu ra:
zcat đầu ra
zcat input2 >> đầu ra

Có ba cấp độ để quét. Đầu tiên là lexer, cố gắng hiểu
Phần vỏ của quá trình thực hiện. Tức là lệnh nào được gọi và lệnh nào chuyển hướng I / O
diễn ra. Thông báo này đầu vào1đầu ra (ngay cả khi nó không được tuyên bố là mục tiêu của
quy tắc này).

Bước tiếp theo là phân tích cú pháp lệnh. Makepp có một vài lệnh biên dịch điển hình.
Các tùy chọn này kiểm tra các tùy chọn dòng lệnh để hiểu lệnh sẽ làm gì. bên trong
xử lý chúng chọn các phụ thuộc như thư viện ("cc -llib"), bao gồm các đường dẫn ("cc -Idir")
và các tệp đầu vào. Nhiệm vụ của trình phân tích cú pháp "zcat" sẽ là biết rằng "-S" nhận một
đối số, nhưng tất cả các từ không phải tùy chọn khác đều là tên tệp (tùy chọn tiếp theo là .gz), Và
rằng "-" kết thúc các tùy chọn. Than ôi không có trình phân tích cú pháp nào như vậy, không có nhiều hơn cho hàng trăm trình phân tích cú pháp khác
lệnh.

Bước thứ ba đối với một số ngôn ngữ là quét các tệp đầu vào, để phát hiện bao gồm
phụ thuộc hơn nữa. Điều này không áp dụng cho ví dụ này.

Làm thế nào có thể I gỡ lỗi trang điểm?

Bạn có thể đặt "$ (print)" xung quanh một biểu thức đáng ngờ. Điều này trả về giá trị không thay đổi
biểu thức, trong khi in nó như một hiệu ứng phụ.

Bạn có thể kết xuất tệp tin của thư mục hiện tại (nhân sau "-C" nếu bạn muốn) với
Tùy chọn "--dump-makefile = file", để xem makepp thấy nó như thế nào.

Makepp viết nhật ký về mọi thứ nó làm và tại sao. Bạn có thể xem xét điều đó với makepplog,
mppl hoặc makeppgraph, mppg. Bạn có thể làm cho nó dài hơn bằng cách thiết lập môi trường
biến "MAKEPP_DEBUG".

Makepp ghi lại tất cả những gì nó biết về một tệp, để sử dụng lại trong lần chạy tiếp theo. Mặc dù nó cần một số
hiểu biết về nội bộ của makepp, kết xuất nó với makeppinfo, mppi cho một hoặc nhiều
các tệp, thường đưa ra manh mối về điều gì là sai. "MAKEPP_DEBUG" cũng cung cấp
"RULE_SOURCE".

Nếu bạn cảm thấy mạo hiểm, hãy sử dụng makepp từ cvs. Điều này bao gồm các mô-đun bổ sung
hook vào "perl -d" để hiển thị tốt hơn nội bộ của makepp.

Is it an toàn đến sử dụng?

, nó sẽ thực hiện chính xác những gì mà trang điểm của bạn nói (điều mà nhiều lập trình viên khó thực hiện
hiểu, vì suy luận dựa trên quy tắc rất khác với hầu hết các mô hình lập trình).

Không, nếu bạn không tin tưởng vào trang điểm mà bạn có, chắc chắn là không! Makefile là một trò vui
loại tập lệnh, mục đích của nó là chạy các lệnh được mong đợi để sửa đổi
hệ thống tập tin. Makepp không có phương tiện để kiểm tra xem chúng sẽ gây hại gì.

Tệ hơn nữa, có những cú pháp luôn thực thi, được thực hiện ngay cả với "--dry-run" (mà
không chạy các quy tắc, nhưng đánh giá mọi thứ khác). Đó có thể là một cái gì đó giống như
điều này:

bad_boy: = $ (shell rm *)

Bên ngoài công cụ
Có thể I sử dụng cc -M or gcc -À?

Câu trả lời ngắn gọn là có. Câu trả lời dài là họ có lợi thế khi biết
hiệu ứng của ngay cả tùy chọn trình biên dịch kỳ lạ cuối cùng và bao gồm con ẩn trong một số trình biên dịch
thư mục nội bộ, nơi makepp chỉ đến khá gần. Điều bất lợi là họ
không có ý tưởng về các quy tắc xây dựng, vì vậy chúng không thể phụ thuộc một cách đáng tin cậy vào các tệp chưa được xây dựng,
trong đó bao gồm các tệp được tìm nạp từ một kho lưu trữ. Và chúng không thể mở rộng
các ngôn ngữ khác, như máy quét của makepp. Thường thì bạn cũng khá giả, không
sử dụng các công cụ này.

Tuy nhiên, một số trình biên dịch có thể tạo ra nó như một sản phẩm phụ. Nếu bạn muốn sử dụng cái này
xem: bao gồm.

Có thể I sử dụng Cache, Trình biên dịch or cachecc1?

Câu trả lời ngắn gọn là có. Câu trả lời dài là các chương trình này cần lặp lại công việc
makepp thực hiện, để có được tệp tham chiếu đáng tin cậy. Với truyền thống làm cho điều này thậm chí
đến quá muộn, vì những người đó bỏ lỡ nhiều tình huống yêu cầu biên dịch lại. Với
makepp nó chỉ dễ dàng hơn khi sử dụng bộ đệm ẩn tích hợp sẵn, có thêm lợi thế
rằng nó có thể xử lý tất cả các loại tệp.

Lưu ý rằng chế độ trực tiếp ccache có một lỗi https://bugzilla.samba.org/show_bug.cgi?id=8728
điều đó sẽ bỏ qua thay đổi trong bao gồm các miếng đệm. Điều này làm cho t / makeppreplay.test thất bại với
"sai tệp: ra". Xuất "CCACHE_NODIRECT = 1" để tránh điều đó.

Sử dụng makepp_faq 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
    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
  • 2
    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
  • 3
    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
  • 4
    Ở 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
  • 5
    MSYS2
    MSYS2
    MSYS2 là một tập hợp các công cụ và
    thư viện cung cấp cho bạn một
    môi trường dễ sử dụng để xây dựng,
    cài đặt và chạy Windows gốc
    phần mềm. Nó lừa ...
    Tải xuống MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo là codec hình ảnh JPEG
    sử dụng hướng dẫn SIMD (MMX, SSE2,
    NEON, AltiVec) để tăng tốc đường cơ sở
    Bật nén và giải nén JPEG
    x86, x8 ...
    Tải xuống libjpeg-turbo
  • Khác »

Lệnh Linux

Ad