.TH "icmstart" "1" "1992\-2025" "icmake\&.13\&.00\&.03" "شروع نگهداری برنامه با icmbuild" .PP .SH "نام (NAME)" icmstart \- یک اسکریپت راه‌اندازی برای نگهداری برنامه با icmbuild .PP .SH "خلاصه دستور (SYNOPSIS)" \fBicmstart\fP \fI[گزینه‌ها]\fP top\-dir [program|library] .PP .SH "توضیحات (DESCRIPTION)" .PP اگرچه اسکریپت‌های \fIicmake\fP را می‌توان برای مدیریت نگهداری برنامه از ابتدا نوشت، اما اقدامات مورد نیاز اغلب بسیار مشابه‌اند\&. این مشاهده منجر به ساخت دو ابزار \fIicmake\fP شد: \fBicmstart\fP(1) که دایرکتوری را برای توسعهٔ برنامه مقداردهی اولیه می‌کند، و \fBicmbuild\fP(1) که نگهداری واقعی برنامه را انجام می‌دهد\&. هر دوی آن‌ها به صورت از پیش‌تعریف‌شده همراه با توزیع \fIicmake\fP برای راه‌اندازی و نگهداری برنامه‌های \fBC++\fP (یا پس از اندکی تغییر، برنامه‌های \fBC\fP) ارائه می‌شوند\&. آن‌ها همچنین می‌توانند به سادگی برای سایر زبان‌های برنامه‌نویسی سفارشی‌سازی شوند\&. اسکریپت \fIicmstart\fP و برنامهٔ \fIicmbuild\fP را می‌توان مستقیماً فراخوانی کرد: \fIicmstart\fP یک اسکریپت \fIicmake\fP است که شل فرمان برای آن \fIicmake\fP را صدا می‌زند؛ \fIicmbuild\fP یک برنامهٔ کوچک \fBC++\fP است که \fIicmake\fP را فراخوانی می‌کند تا اسکریپت \fIicmbuild\fP را در (معمولاً) \fI/usr/libexec/icmake\fP پردازش کند\&. .PP این صفحهٔ راهنما \fBicmstart\fP را پوشش می‌دهد؛ برای کسب اطلاعات دربارهٔ نحوهٔ استفاده از \fIicmbuild\fP به صفحهٔ راهنمای \fBicmbuild\fP(1) مراجعه کنید\&. .PP اسکریپت \fBicmstart\fP یک اسکریپت عمومی است که برای مقداردهی اولیهٔ یک دایرکتوری با مجموعه‌ای از فایل‌های پایه که معمولاً در توسعهٔ برنامه‌های \fBC++\fP یا \fBC\fP به کار می‌روند، استفاده می‌شود\&. .PP دستور \fBIcmstart\fP یک دایرکتوری اولیه (که در اینجا `\fItop\-dir\fP\(cq نامیده شده) ایجاد کرده و فایل‌های \fICLASSES\fP، \fIVERSION\fP و \fIicmconf\fP را درون \fItop\-dir\fP نصب می‌کند\&. یک آرگومان دوم به صورت `\fIprogram\fP\(cq یا `\fIlibrary\fP\(cq می‌تواند به عنوان حالت عملیاتی پیش‌فرض اسکریپت \fBicmbuild\fP(1) مشخص شود، که معمولاً به اضافه شدن فایل‌های منبع اسکلت (skeleton) بیشتری می‌انجامد\&. اگر مجموعه فایل‌های از پیش‌تعریف‌شده پاسخگوی نیاز شما نیست، مجموعهٔ پیش‌فرض را می‌توان به راحتی تغییر داد\&. مجموعهٔ پیش‌فرض فایل‌های اسکلت در فایل \fI/etc/icmake/icmstart\&.rc\fP فهرست شده است\&. برای کسب اطلاعات دربارهٔ ساختار این فایل و چگونگی تطبیق آن به صفحهٔ راهنمای \fBicmstart\&.rc\fP(7) مراجعه کنید\&. .PP پس از رفتن به دایرکتوری ایجادشده توسط \fBicmstart\fP، می‌توان از \fBicmbuild\fP(1) برای نگهداری برنامه استفاده کرد\&. .PP .SH "گزینه‌ها (OPTIONS)" .PP دستور \fIIcmstart\fP از گزینه‌های زیر پشتیبانی می‌کند که (در صورت تعیین) باید نخستین آرگومان‌های \fIicmstart\fP باشند: .IP o \fI\-b\fP .br نصب پایه: فایل‌های \fIVERSION\fP، \fIusage\&.cc\fP و \fIversion\&.cc\fP نصب نمی‌شوند و مدخل \fI#define USE_VERSION\fP در icmconf کامنت می‌شود؛ .IP .IP o \fI\-c confpath\fP .br استفاده از فایل‌های پیکربندی (\fIicmstart\&.rc\fP، \fIAUTHOR\fP، \fIYEARS\fP و \fIVERSION\fP) در صورت وجود در `confpath\(cq، به‌جای استفاده از فایل‌های موجود در \fI~/\&.icmake\fP یا \fI/etc/icmake/\fP\&. به محض یافتن یک فایل از آن استفاده می‌شود که امکان بازنویسی جزئی فایل‌های پیش‌فرضِ ارائه‌شده توسط \fBicmake\fP(1) را فراهم می‌کند؛ .IP .IP o \fI\-d\fP .br هیچ دستوری را اجرا نکن، اما دستوراتی را که قرار بود اجرا شوند در خروجی استاندارد نمایش بده؛ .IP .IP o \fI\-I\fP .br فایل‌ها را نصب نکن؛ .IP .IP o \fI\-r\fP .br جایگزینی بدون قید و شرط فایل‌های موجود\&. اگر \fI\-r\fP مشخص نشود، \fBicmstart\fP از کاربر برای بازنویسی فایل‌های موجود تایید می‌گیرد\&. اگر مشخصات اسکلت به یک دایرکتوری اشاره کند، کل دایرکتوری و زیردایرکتوری‌های آن جایگزین می‌شوند؛ .IP .IP o \fI\-s skeleton\-path\fP .br به طور پیش‌فرض، فایل‌های اسکلت در فایل منبع اسکلت \fI/usr/share/icmake/icmstart\&.rc\fP فهرست شده‌اند\&. از طرف دیگر، فایل منبع اسکلت را می‌توان با متغیر محیطی \fIICM\fP مشخص کرد، که آن هم به نوبهٔ خود می‌تواند با مسیر مشخص‌شده توسط گزینهٔ \fI\-s\fP لغو شود\&. مسیر اسکلت را می‌توان به صورت یک مسیر کامل فایل یا یک دایرکتوری مشخص کرد، که در حالت دوم فرض می‌شود فایل منبع اسکلت \fIicmstart\&.rc\fP است (به بخش \fBفایل‌های اسکلت (SKELETON FILES)\fP در ادامه مراجعه کنید)\&. از آنجا که \fBicmstart\fP برای نصب فایل‌ها از \fIcp\fP استفاده می‌کند، هنگامی که \fBicmstart\fP باید فایل‌های اسکلت را نصب کند، \fIcp\fP باید در دسترس باشد\&. .PP .SH "فایل‌های اسکلت (SKELETON FILES)" .PP فایل‌های منبع اسکلت می‌توانند حاوی کامنت (خطوط خالی و خطوطی که با علامت هش (\fI#\fP) آغاز می‌شوند) باشند\&. خطوط کامنت نادیده گرفته می‌شوند\&. در غیر این صورت، خطوط باید حاوی مشخصات منابع (\fBs\fP) برای نصب باشند\&. .PP فایل مشخصات منبع پیش‌فرض \fI/etc/icmake/icmstart\&.rc\fP است، شامل: .nf CLASSES icmconf P main\&.cc P main\&.ih P usage\&.cc P version\&.cc P ? scanner P ? parser .fi این فایل با \fI~/\&.icmake/icmstart\&.rc\fP بازنویسی می‌شود\&. دایرکتوری \fI~/\&.icmake\fP (که در ادامه `دایرکتوری پیکربندی\(cq نامیده می‌شود) را می‌توان با دستور سیستمی زیر آماده کرد: .nf cp \-r /etc/icmake ~/\&.icmake .fi این دایرکتوری همچنین می‌تواند شامل فایل‌های اسکلت باشد\&. فایل‌های اسکلت پیش‌فرض معمولاً در \fI/usr/share/icmake\fP یافت می‌شوند و می‌توان آن‌ها را در دایرکتوری پیکربندی کپی کرد و توسط فایل \fIicmstart\&.rc\fP در دایرکتوری پیکربندی به آن‌ها ارجاع داد\&. برای جزئیات بیشتر دربارهٔ نحوهٔ ارجاع به فایل‌های اسکلت در \fIicmstart\&.rc\fP به \fBicmstart\&.rc\fP(7) مراجعه کنید\&. .PP .SH "فایل‌های پیکربندی (CONFIGURATION FILES)" .PP فایل‌های پیکربندی \fIicmstart\&.rc\fP، \fIAUTHOR\fP، \fIYEARS\fP و \fIVERSION\fP به عنوان فایل‌های اسکلت شناخته شده و در صورت موجود بودن، توسط \fIicmstart\fP پردازش می‌شوند\&. .PP اگر گزینهٔ \fI\-c\fP مشخص شده باشد، فایل‌های پیکربندی یافت‌شده در مسیر مشخص‌شده با این گزینه استفاده می‌شوند\&. اگر مشخص نشده باشد یا فایلی پیدا نشود، مسیر \fI~/icmake\fP بررسی می‌شود\&. اگر یک فایل پیکربندی در \fI~/icmake\fP نیز پیدا نشود، از فایل‌های پیکربندی موجود در \fI/etc/icmake\fP استفاده خواهد شد\&. .PP فایل‌های پیکربندی اختیاری هستند؛ در صورت نبود آن‌ها باز هم می‌توان از \fIicmstart\fP استفاده کرد، اما معمولاً حداقل \fIicmstart\&.rc\fP ارائه می‌شود\&. .PP علاوه بر \fIicstart\&.rc\fP، تعریف فایل‌های \fIAUTHOR\fP، \fIVERSION\fP و \fIYEARS\fP را در دایرکتوری پیکربندی مد نظر داشته باشید: .IP o اگر فایل \fIAUTHOR\fP وجود داشته باشد باید شامل یک خط باشد که نویسندهٔ برنامه را مشخص می‌کند؛ مثلاً: .nf #define AUTHOR \(dq\&Frank B\&. Brokken \(dq\& .fi در صورت عدم وجود، \fIicmstart\fP از مقدار پیش‌فرض استفاده می‌کند: .br \fI#define AUTHOR \(dq\&\(dq\&\fP\&. .IP .IP o اگر فایل \fIVERSION\fP وجود داشته باشد باید شامل یک خط باشد که نسخهٔ برنامه را تعریف می‌کند؛ مثلاً: .nf #define VERSION \(dq\&1\&.00\&.00\(dq\& .fi در صورت عدم وجود، \fIicmstart\fP از مقدار پیش‌فرض استفاده می‌کند: .br \fI#define VERSION \(dq\&0\&.01\&.00\(dq\&\fP\&. .IP .IP o اگر فایل \fIYEARS\fP وجود داشته باشد باید شامل یک خط باشد که سال انتشار اولیهٔ برنامه یا بازه‌ای از سال‌های انتشار را مشخص می‌کند؛ مثلاً: .nf #define YEARS \(dq\&2024\(dq\& .fi یا می‌توان بازه‌ای از سال‌ها را تعریف کرد: .nf #define YEARS \(dq\&1992\-2024\(dq\& .fi در صورت عدم وجود، \fIicmstart\fP از مقدار پیش‌فرض استفاده می‌کند: .br \fI#define YEARS \(dq\&yyyy\(dq\&\fP که در آن \fIyyyy\fP سال جاری است\&. .PP تعاریف \fIAUTHOR\fP، \fIVERSION\fP و \fIYEARS\fP در یک فایل به نام \fIVERSION\fP ترکیب شده و در دایرکتوری سطح بالا نصب می‌شوند\&. .PP اگر فایل \fIicmstart\&.rc\fP وجود نداشته باشد (یا خالی باشد)، \fIicmstart\fP تنها دایرکتوری سطح بالا، \fIicmconf\fP و \fIVERSION\fP را نصب می‌کند\&. .PP .SH "فایل‌ها (FILES)" مسیرهای ذکرشده صرفاً پیشنهادی هستند و ممکن است بسته به نوع نصب متفاوت باشند: .IP o \fB/usr/share/icmake/icmconf\fP نمونه‌ای از یک فایل پیکربندی \fBicmbuild\fP؛ .IP o \fB/usr/share/icmake/CLASSES\fP نمونه‌ای از یک فایل \fICLASSES\fP برای \fBicmbuild\fP\&. .IP o \fB/etc/icmake/icmstart\&.rc\fP فایل منبع اسکلت پیش‌فرض\&. .PP .SH "همچنین ببینید (SEE ALSO)" \fBicmake\fP(1), \fBicmbuild\fP(1), \fBicmconf\fP(7), \fBicmstart\&.rc\fP(7)\&. .PP .SH "گزارش باگ‌ها (BUGS)" نام‌های مسیری که شامل فاصله باشند پشتیبانی نمی‌شوند\&. .PP .SH "کپی‌رایت و تکثیر (COPYRIGHT)" این یک نرم‌افزار آزاد است که تحت شرایط «پروانه عمومی همگانی گنو» (GPL) توزیع می‌شود\&. .PP .SH "نویسندگان (AUTHORS)" Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&. .PP