OCAMLBUILD(1) General Commands Manual OCAMLBUILD(1)

ocamlbuild - ابزار کامپایل و ساخت پروژه‌های OCaml

ocamlbuild [ -Is  dir1,... ] [ -libs lib1,... ] [ -lflags flag1,... ] [ -pp flags ] [ -tags tag1,... ] [ -j  parallel-jobs ] target.native [ -- arg1 arg2 ... ]

(همان گزینه‌ها)

ocamlbuild(1) فرآیند کامپایل پروژه OCaml شما را مدیریت و هماهنگ می‌کند. عملکرد آن مشابه make(1) است، با این تفاوت که به‌طور اختصاصی برای کامپایل خودکار بیشتر پروژه‌های OCaml با کمترین ورودی از سوی کاربر طراحی شده است.

ocamlbuild باید در ریشه درخت یک پروژه پاک (به‌عنوان مثال، بدون فایل‌های کامپایل باقی‌مانده) اجرا شود. با مشخص کردن یک یا چند هدف برای کامپایل، زیرپوشه‌های لازم را جهت جمع‌آوری اطلاعات درباره فایل‌های مختلف موجود پویش می‌کند، ابزارهایی مانند ocamldep(1) را برای استخراج اطلاعات وابستگی اجرا می‌نماید، و فایل‌های اختیاری را که رفتار آن را دقیق‌تر تنظیم می‌کنند گردآوری می‌کند. نام‌های هدف بسیار بااهمیت هستند.

ocamlbuild از مجموعه‌ای از قراردادهای نام‌گذاری هدف برای تعیین نوع اشیای تولیدی استفاده می‌کند. نام‌های هدف به شکل base.extension هستند که در آن base معمولاً نام ماژول پایه OCaml است و extension نوع شیئی را که قرار است از آن فایل تولید شود مشخص می‌کند -- یک فایل اجرایی بایت‌کد، یک فایل اجرایی نیتیو (native)، مستندات و غیره. البته پسوندهایی مانند .cmo, .cma, .cmi... به معادل‌های معمول خود نگاشت می‌شوند. در اینجا فهرستی از مهم‌ترین پسوندهای ویژه ocamlbuild آورده شده است:

.native
فایل اجرایی کد نیتیو (Native)
.byte
فایل اجرایی بایت‌کد (Bytecode)
.inferred.mli
رابط استنتاج‌شده با ocamlc-i
.docdir/index.html
مستندات HTML تولیدشده با ocamldoc

گزینه‌های خط فرمان زیر توسط ocamlbuild(1) شناخته می‌شوند.

نمایش نسخه
همانند -version
نمایش شماره نسخه
همانند -vnum
به حداقل رساندن پیام‌های خروجی تا جای ممکن
تنظیم سطح پرگویی خروجی در مقیاسی از 0 تا 8 (شامل هر دو)
نمایش قوانین و پرچم‌ها
تعیین فایل گزارش (log)
بدون فایل گزارش
حذف دایرکتوری ساخت و سایر فایل‌ها، سپس خروج
پیمایش دایرکتوری‌ها به‌صورت پیش‌فرض (درست: پیمایش)
افزودن به دایرکتوری‌های include
(همانند بالا، اما فهرستی جداشده با کاما یا فاصله را می‌پذیرد)
دایرکتوری برای نادیده‌گرفتن
(همانند بالا)
پیوند به این کتابخانه ocaml
(همانند بالا)
پیوند به این ماژول ocaml
(همانند بالا)
پیوند به این بسته findlib ocaml
(همانند بالا)
(همانند بالا)
مشخص‌کردن نحو با استفاده از ocamlfind
افزودن به پرچم‌های پیونددهی ocamlc
(همانند بالا)
افزودن به پرچم‌های کامپایل ocamlc
(همانند بالا)
افزودن به پرچم‌های ocamldoc
(همانند بالا)
افزودن به پرچم‌های ocamlyacc
(همانند بالا)
افزودن به پرچم‌های ocamllex
(همانند بالا)
افزودن به پرچم‌های پیش‌پردازش ocaml
(همانند بالا)
افزودن به برچسب‌های پیش‌فرض
(همانند بالا)
استفاده از این برچسب هنگام کامپایل افزونه myocamlbuild.ml
(همانند بالا)
استفاده از این سطر برچسب‌ها (مشابه فایل _tags)
نمایش برچسب‌هایی که برای آن مسیر اعمال می‌شوند
عدم تلاش برای ساخت این ماژول‌ها
عدم ایجاد پیوند برای هدف‌های نهایی تولیدشده
رد نکردن ماژول‌هایی که توسط ocamldep درخواست شده‌اند اما قابل ساخت نیستند
عدم اعمال قوانین بررسی سلامت (sanity-check)
عدم ساخت myocamlbuild.ml
نادیده نگرفتن ماژول‌های stdlib
عدم گرفتن و نمایش استثناها (مفید برای نمایش پشته فراخوانی)
تنها myocamlbuild.ml ساخته شود
استفاده از بایت‌کد به‌جای افزونه بومی (native)
استفاده از این گزینه تنها در زمان اجرای افزونه
تغییر نام فایل اسکریپت پاک‌سازی ایجادشده
عدم ایجاد اسکریپت پاک‌سازی
شکست در صورت نیاز به بازسازی هر چیزی
نمایش دستورهای اجراشده به روش قدیمی
استفاده از menhir به‌جای ocamlyacc
استفاده از کامپایلرهای jocaml به‌جای کامپایلرهای ocaml
استفاده از پوشش‌دهنده 'ocamlfind' به‌جای استفاده مستقیم از Findlib برای تعیین آرگومان‌های خط فرمان. برای غیرفعال‌کردن از -no-ocamlfind استفاده کنید. مستلزم -plugin-use-ocamlfind است.
عدم استفاده از ocamlfind. مستلزم -plugin-no-ocamlfind است..TP -plugin-use-ocamlfind استفاده از لفاف 'ocamlfind' برای ساخت myocamlbuild.ml
عدم استفاده از ocamlfind برای ساخت myocamlbuild.ml
تنظیم زنجیره ابزار Findlib مورد استفاده. برای ساخت myocamlbuild.ml همواره از زنجیره ابزار پیش‌فرض استفاده می‌شود.
اجازه دادن به N کار به صورت هم‌زمان (۰ برای نامحدود)
تنظیم دایرکتوری ساخت (مستلزم no-links)
تنظیم دایرکتوری کتابخانه‌های نصبی
تنظیم دایرکتوری باینری‌های نصبی
نمایش دایرکتوری کتابخانه‌های نصبی
نمایش مسیر دستور ابزار
تنظیم کامپایلر بایت‌کد OCaml
تنظیم کامپایلر بایت‌کد OCaml مورد استفاده برای ساخت myocamlbuild.ml (فقط)
تنظیم کامپایلر بومی OCaml
تنظیم کامپایلر بومی OCaml مورد استفاده برای ساخت myocamlbuild.ml (فقط)
تنظیم ابزار وابستگی OCaml
تنظیم تولیدکننده مستندات OCaml
تنظیم ابزار ocamlyacc
تنظیم ابزار menhir (پس از -use-menhir استفاده شود)
تنظیم ابزار ocamllex
تنظیم ابزار ocamlmklib
تنظیم ابزار ocamlmktop
تنظیم ابزار ocamlrun
--
توقف پردازش آرگومان‌ها؛ آرگومان‌های باقی‌مانده به برنامه کاربر داده می‌شوند
نمایش این فهرست از گزینه‌ها
نمایش این فهرست از گزینه‌ها

راهنمای ocamlbuild، ocaml(1)، make(1).
راهنمای کاربر OCaml، فصل “Batch compilation”.