.TH fpcmake 5 "12 Dec 1999" FreePascal "قالب Makefile.fpc در Free Pascal" .SH "نام (NAME)" fpcmake \- پرونده پیکربندی برای fpcmake .SH "خلاصه دستور (SYNOPSIS)" .I Makefile.fpc یک پرونده پیکربندی برای دستور .B fpcmake است. با استفاده از این پرونده، یک .I Makefile برای کامپایل واحدها و برنامه‌های Free Pascal ایجاد می‌شود. .SH "توضیحات (DESCRIPTION)" .B Makefile.fpc یک پرونده متنی ساده اسکی (ASCII) است که همانند یک پرونده .I ini در ویندوز، شامل چندین بخش می‌باشد. بخش‌های زیر (به ترتیب الفبا) شناسایی می‌شوند: .TP .B clean قوانین پاک‌سازی دایرکتوری از واحدها و برنامه‌ها را مشخص می‌کند. ورودی‌های زیر شناسایی می‌شوند: .RS .TP .I units نام تمام واحدهایی که باید هنگام پاک‌سازی حذف شوند. پسوندها را مشخص نکنید، چرا که خود makefile آن‌ها را اضافه خواهد کرد. .TP .I files نام پرونده‌هایی که باید حذف شوند. نام کامل پرونده‌ها را مشخص کنید. .RE .TP .B defaults بخش defaults شامل برخی تنظیمات پیش‌فرض است. کلیدواژه‌های زیر شناسایی می‌شوند: .RS .TP .RE .TP .B dirs .TP .B info .TP .B install شامل دستورالعمل‌هایی برای نصب واحدها و برنامه‌های شما است. کلیدواژه‌های زیر شناسایی می‌شوند: .RS .TP .I dirprefix دایرکتوری‌ای که تمام نصب‌ها در زیر آن انجام می‌شوند. این معادل آرگومان .I \-\-prefix در .I configure گنو (GNU) است. از این دایرکتوری برای نصب برنامه‌ها و واحدها استفاده می‌شود. به طور پیش‌فرض، این مقدار در لینوکس برابر .B /usr و در تمام پلتفرم‌های دیگر برابر .B /pp است. .TP .I dirbase دایرکتوری‌ای که به عنوان دایرکتوری پایه برای نصب واحدها استفاده می‌شود. به طور پیش‌فرض این مقدار برابر است با .I dirprefix به همراه .I /lib/fpc/FPC\_VERSION برای لینوکس، یا صرفاً همان dirprefix در پلتفرم‌های دیگر. .RE واحدها در زیردایرکتوری .I units/$(OS\_TARGET) از ورودی .I dirbase نصب خواهند شد. .TP .B libs این بخش مشخص می‌کند که چه واحدهایی باید در یک کتابخانه ادغام شوند و چه کتابخانه‌های خارجی مورد نیاز هستند. این بخش می‌تواند شامل کلیدواژه‌های زیر باشد: .RS .TP .I libname نام کتابخانه‌ای که باید ایجاد شود. .TP .I libunits فهرستی جداشده با کاما از واحدهایی که باید به یک کتابخانه منتقل شوند. .TP .I needgcclib یک مقدار بولی (boolean) که مشخص می‌کند آیا کتابخانه gcc مورد نیاز است یا خیر. این گزینه اطمینان حاصل می‌کند که مسیر کتابخانه GCC در مسیر جستجوی کتابخانه‌ها درج شود. .TP .I needotherlib یک مقدار بولی که به makefile اعلام می‌کند دایرکتوری‌های کتابخانه دیگری نیز مورد نیاز خواهند بود. .RE .TP .B packages مشخص می‌کند چه بسته‌هایی باید استفاده شوند. این بخش می‌تواند شامل کلیدواژه‌های زیر باشد: .RS .TP .I packages فهرستی جداشده با کاما از بسته‌هایی که برای کامپایل هدف‌ها مورد نیاز هستند. معتبر برای تمام پلتفرم‌ها. برای تفکیک بین پلتفرم‌ها، می‌توانید نام سیستم‌عاملی را که برای آن کامپایل می‌کنید به ابتدای کلیدواژه .I packages اضافه کنید؛ به عنوان مثال .I linuxpackages اگر می‌خواهید makefile فقط در لینوکس از بسته‌های فهرست‌شده استفاده کند. .TP .I fcl این یک مقدار بولی (۰ یا ۱) است که مشخص می‌کند آیا از FCL استفاده می‌شود یا خیر. .TP .I rtl این یک مقدار بولی (۰ یا ۱) است که مشخص می‌کند آیا RTL باید دوباره کامپایل شود یا خیر. .RE .TP .B postsettings هر آنچه در این بخش قرار گیرد، دقیقاً به همان صورت در makefile درج خواهد شد؛ .I پس از قوانین makefile که توسط fpcmake تولید شده‌اند، اما .I پیش از قوانین پیکربندی عمومی. در آن، شما نمی‌توانید از متغیرهایی که توسط قوانین fpcmake تعریف شده‌اند استفاده کنید، اما می‌توانید قوانین و متغیرهای پیکربندی اضافی تعریف نمایید. .TP .B presettings هر آنچه در این بخش قرار گیرد، دقیقاً به همان صورت در makefile درج خواهد شد؛ .I پیش از قوانین هدف makefile که توسط fpcmake تولید می‌شوند. این بدان معناست که شما نمی‌توانید از متغیرهایی استفاده کنید که به طور معمول توسط .B fpcmake تعریف می‌شوند. .TP .B rules در این بخش می‌توانید قوانین وابستگی و هر هدف دیگری را که مایلید داشته باشید، درج کنید. «قوانین پیش‌فرض» (default rules) را در اینجا وارد نکنید. .TP .B sections در اینجا می‌توانید مشخص کنید کدام «بخش‌های قوانین» (rule sections) باید در Makefile گنجانده شوند. بخش‌ها از مجموعه‌ای از کلیدواژه‌های بولی تشکیل شده‌اند؛ هر کلیدواژه تصمیم می‌گیرد که آیا یک بخش خاص در makefile نوشته شود یا خیر. به طور پیش‌فرض، تمام بخش‌ها نوشته می‌شوند. می‌توانید کلیدواژه‌های بولی زیر را در این بخش داشته باشید: .RS .TP .I none اگر روی true تنظیم شود، هیچ بخشی نوشته نمی‌شود. .TP .I units اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین کامپایل واحدها صرف‌نظر می‌کند. .TP .I exes اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین کامپایل پرونده‌های اجرایی صرف‌نظر می‌کند. .TP .I loaders اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین اسمبل کردن پرونده‌های اسمبلی صرف‌نظر می‌کند. .TP .I examples اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین کامپایل مثال‌ها صرف‌نظر می‌کند. .TP .I package اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین ساخت بسته‌ها صرف‌نظر می‌کند. .TP .I compile اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین عمومی برای کامپایل پرونده‌های پاسکال صرف‌نظر می‌کند. .TP .I depend اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین وابستگی صرف‌نظر می‌کند. .TP .I install اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین نصب همه موارد صرف‌نظر می‌کند. .TP .I sourceinstall اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین نصب کدهای منبع صرف‌نظر می‌کند. .TP .I zipinstall اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین نصب آرشیوها صرف‌نظر می‌کند. .TP .I clean اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین پاک‌سازی دایرکتوری‌ها صرف‌نظر می‌کند. .TP .I libs اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین ساخت کتابخانه‌ها صرف‌نظر می‌کند. .TP .I command اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین ایجاد خط فرمان بر اساس متغیرهای مختلف صرف‌نظر می‌کند. .TP .I exts اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین مربوط به پسوندها صرف‌نظر می‌کند. .TP .I dirs اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین اجرای make در زیردایرکتوری‌ها صرف‌نظر می‌کند. .TP .I tools اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین اجرای برخی ابزارها مانند آرشیوکننده، UPX و zip صرف‌نظر می‌کند. .TP .I info اگر روی .I false تنظیم شود، .B fpcmake از درج قوانین تولید اطلاعات صرف‌نظر می‌کند. .RE .TP .B targets در این بخش می‌توانید هدف‌های مختلف را تعریف کنید. کلیدواژه‌های زیر در این بخش قابل استفاده هستند: .RS .TP .I dirs فهرستی جداشده با فاصله از دایرکتوری‌هایی که make باید در آن‌ها نیز اجرا شود. .TP .I examples فهرستی جداشده با فاصله از برنامه‌های نمونه که باید هنگام درخواست کاربر برای کامپایل مثال‌ها، کامپایل شوند. پسوند را مشخص نکنید، پسوند به طور خودکار اضافه خواهد شد. .TP .I loaders فهرستی جداشده با فاصله از نام پرونده‌های اسمبلی که باید اسمبل شوند. پسوند را مشخص نکنید، پسوند اضافه خواهد شد. .TP .I programs فهرستی جداشده با فاصله از نام برنامه‌هایی که باید کامپایل شوند. پسوند را مشخص نکنید، پسوند اضافه خواهد شد. .TP .I rst فهرستی از پرونده‌های .I rst که باید برای استفاده با روال‌های بین‌المللی‌سازی و .B gettext گنو (GNU)، به پرونده‌های .I .po تبدیل شوند. .TP .I units فهرستی جداشده با فاصله از نام واحدهایی که باید کامپایل شوند. پسوند را مشخص نکنید؛ ذکر نام واحد همان‌گونه که در عبارت .I uses می‌آید کافی است. .RE .TP .B tools در این بخش می‌توانید مشخص کنید کدام ابزارها مورد نیاز هستند. بسته به تنظیمات این بخش، تعاریف لازم برای استفاده از هر یک از ابزارهای فهرست‌شده در makefile درج خواهد شد. هر کلیدواژه یک کلیدواژه بولی است؛ شما می‌توانید با آن استفاده از یک ابزار را روشن یا خاموش کنید. کلیدواژه‌های زیر شناسایی می‌شوند: .RS .TP .I toolppdep استفاده از .BR ppdep ، ابزار وابستگی. به طور پیش‌فرض .I True است. .TP .I toolppumove استفاده از .BR ppumove ، ابزار جابجایی واحدهای Free Pascal. به طور پیش‌فرض .I True است. .TP .I toolppufiles استفاده از ابزار .B ppufile برای تعیین وابستگی‌های پرونده‌های واحد. به طور پیش‌فرض .I True است. .TP .I toolsed استفاده از .BR sed ، ویرایشگر جریان متن. به طور پیش‌فرض .I False است. .TP .I tooldata2inc استفاده از ابزار .B data2inc برای ایجاد پرونده‌های include از پرونده‌های داده. به طور پیش‌فرض .I False است. .TP .I tooldiff استفاده از ابزار .B diff گنو (GNU). به طور پیش‌فرض .I False است. .TP .I toolcmp استفاده از ابزار مقایسه پرونده .BR cmp . به طور پیش‌فرض .I False است. .TP .I toolupx استفاده از فشرده‌ساز پرونده‌های اجرایی .BR upx . به طور پیش‌فرض .I True است. .TP .I tooldate استفاده از ابزار نمایش تاریخ .BR date . به طور پیش‌فرض .I True است. .TP .I toolzip استفاده از بایگان پرونده .BR zip . این ابزار توسط هدف‌های zip استفاده می‌شود. به طور پیش‌فرض .I True است. .RE .TP .B zip این بخش می‌تواند برای ایجاد پرونده‌های zip از واحدها و برنامه‌های کامپایل‌شده استفاده شود. به طور پیش‌فرض، تمام واحدهای کامپایل‌شده فشرده (zip) می‌شوند. رفتار zip را می‌توان با بخش‌های presettings و postsettings تحت تأثیر قرار داد. کلیدواژه‌های زیر می‌توانند در این بخش استفاده شوند: .RS .TP .I zipname نام پرونده zip که تولید خواهد شد. .TP .I ziptarget نام یک هدف makefile است که پیش از ایجاد zip اجرا خواهد شد. به طور پیش‌فرض این مقدار، هدف .I install است. .RE .SH "همچنین ببینید (SEE ALSO)" .IP .BR fpcmake (1), .BR ppc386 (1), .BR make (1)