| icmstart(1) | شروع نگهداری برنامه با icmbuild | icmstart(1) |
نام (NAME)
icmstart - یک اسکریپت راهاندازی برای نگهداری برنامه با icmbuild
خلاصه دستور (SYNOPSIS)
icmstart [گزینهها] top-dir [program|library]
توضیحات (DESCRIPTION)
اگرچه اسکریپتهای icmake را میتوان برای مدیریت نگهداری برنامه از ابتدا نوشت، اما اقدامات مورد نیاز اغلب بسیار مشابهاند. این مشاهده منجر به ساخت دو ابزار icmake شد: icmstart(1) که دایرکتوری را برای توسعهٔ برنامه مقداردهی اولیه میکند، و icmbuild(1) که نگهداری واقعی برنامه را انجام میدهد. هر دوی آنها به صورت از پیشتعریفشده همراه با توزیع icmake برای راهاندازی و نگهداری برنامههای C++ (یا پس از اندکی تغییر، برنامههای C) ارائه میشوند. آنها همچنین میتوانند به سادگی برای سایر زبانهای برنامهنویسی سفارشیسازی شوند. اسکریپت icmstart و برنامهٔ icmbuild را میتوان مستقیماً فراخوانی کرد: icmstart یک اسکریپت icmake است که شل فرمان برای آن icmake را صدا میزند؛ icmbuild یک برنامهٔ کوچک C++ است که icmake را فراخوانی میکند تا اسکریپت icmbuild را در (معمولاً) /usr/libexec/icmake پردازش کند.
این صفحهٔ راهنما icmstart را پوشش میدهد؛ برای کسب اطلاعات دربارهٔ نحوهٔ استفاده از icmbuild به صفحهٔ راهنمای icmbuild(1) مراجعه کنید.
اسکریپت icmstart یک اسکریپت عمومی است که برای مقداردهی اولیهٔ یک دایرکتوری با مجموعهای از فایلهای پایه که معمولاً در توسعهٔ برنامههای C++ یا C به کار میروند، استفاده میشود.
دستور Icmstart یک دایرکتوری اولیه (که در اینجا `top-dir’ نامیده شده) ایجاد کرده و فایلهای CLASSES، VERSION و icmconf را درون top-dir نصب میکند. یک آرگومان دوم به صورت `program’ یا `library’ میتواند به عنوان حالت عملیاتی پیشفرض اسکریپت icmbuild(1) مشخص شود، که معمولاً به اضافه شدن فایلهای منبع اسکلت (skeleton) بیشتری میانجامد. اگر مجموعه فایلهای از پیشتعریفشده پاسخگوی نیاز شما نیست، مجموعهٔ پیشفرض را میتوان به راحتی تغییر داد. مجموعهٔ پیشفرض فایلهای اسکلت در فایل /etc/icmake/icmstart.rc فهرست شده است. برای کسب اطلاعات دربارهٔ ساختار این فایل و چگونگی تطبیق آن به صفحهٔ راهنمای icmstart.rc(7) مراجعه کنید.
پس از رفتن به دایرکتوری ایجادشده توسط icmstart، میتوان از icmbuild(1) برای نگهداری برنامه استفاده کرد.
گزینهها (OPTIONS)
دستور Icmstart از گزینههای زیر پشتیبانی میکند که (در صورت تعیین) باید نخستین آرگومانهای icmstart باشند:
- o
- -b
نصب پایه: فایلهای VERSION، usage.cc و version.cc نصب نمیشوند و مدخل #define USE_VERSION در icmconf کامنت میشود؛ - o
- -c confpath
استفاده از فایلهای پیکربندی (icmstart.rc، AUTHOR، YEARS و VERSION) در صورت وجود در `confpath’، بهجای استفاده از فایلهای موجود در ~/.icmake یا /etc/icmake/. به محض یافتن یک فایل از آن استفاده میشود که امکان بازنویسی جزئی فایلهای پیشفرضِ ارائهشده توسط icmake(1) را فراهم میکند؛ - o
- -d
هیچ دستوری را اجرا نکن، اما دستوراتی را که قرار بود اجرا شوند در خروجی استاندارد نمایش بده؛ - o
- -I
فایلها را نصب نکن؛ - o
- -r
جایگزینی بدون قید و شرط فایلهای موجود. اگر -r مشخص نشود، icmstart از کاربر برای بازنویسی فایلهای موجود تایید میگیرد. اگر مشخصات اسکلت به یک دایرکتوری اشاره کند، کل دایرکتوری و زیردایرکتوریهای آن جایگزین میشوند؛ - o
- -s skeleton-path
به طور پیشفرض، فایلهای اسکلت در فایل منبع اسکلت /usr/share/icmake/icmstart.rc فهرست شدهاند. از طرف دیگر، فایل منبع اسکلت را میتوان با متغیر محیطی ICM مشخص کرد، که آن هم به نوبهٔ خود میتواند با مسیر مشخصشده توسط گزینهٔ -s لغو شود. مسیر اسکلت را میتوان به صورت یک مسیر کامل فایل یا یک دایرکتوری مشخص کرد، که در حالت دوم فرض میشود فایل منبع اسکلت icmstart.rc است (به بخش فایلهای اسکلت (SKELETON FILES) در ادامه مراجعه کنید). از آنجا که icmstart برای نصب فایلها از cp استفاده میکند، هنگامی که icmstart باید فایلهای اسکلت را نصب کند، cp باید در دسترس باشد.
فایلهای اسکلت (SKELETON FILES)
فایلهای منبع اسکلت میتوانند حاوی کامنت (خطوط خالی و خطوطی که با علامت هش (#) آغاز میشوند) باشند. خطوط کامنت نادیده گرفته میشوند. در غیر این صورت، خطوط باید حاوی مشخصات منابع (s) برای نصب باشند.
فایل مشخصات منبع پیشفرض /etc/icmake/icmstart.rc است، شامل:
CLASSES icmconf P main.cc P main.ih P usage.cc P version.cc P ? scanner P ? parserاین فایل با ~/.icmake/icmstart.rc بازنویسی میشود. دایرکتوری ~/.icmake (که در ادامه `دایرکتوری پیکربندی’ نامیده میشود) را میتوان با دستور سیستمی زیر آماده کرد:
cp -r /etc/icmake ~/.icmakeاین دایرکتوری همچنین میتواند شامل فایلهای اسکلت باشد. فایلهای اسکلت پیشفرض معمولاً در /usr/share/icmake یافت میشوند و میتوان آنها را در دایرکتوری پیکربندی کپی کرد و توسط فایل icmstart.rc در دایرکتوری پیکربندی به آنها ارجاع داد. برای جزئیات بیشتر دربارهٔ نحوهٔ ارجاع به فایلهای اسکلت در icmstart.rc به icmstart.rc(7) مراجعه کنید.
فایلهای پیکربندی (CONFIGURATION FILES)
فایلهای پیکربندی icmstart.rc، AUTHOR، YEARS و VERSION به عنوان فایلهای اسکلت شناخته شده و در صورت موجود بودن، توسط icmstart پردازش میشوند.
اگر گزینهٔ -c مشخص شده باشد، فایلهای پیکربندی یافتشده در مسیر مشخصشده با این گزینه استفاده میشوند. اگر مشخص نشده باشد یا فایلی پیدا نشود، مسیر ~/icmake بررسی میشود. اگر یک فایل پیکربندی در ~/icmake نیز پیدا نشود، از فایلهای پیکربندی موجود در /etc/icmake استفاده خواهد شد.
فایلهای پیکربندی اختیاری هستند؛ در صورت نبود آنها باز هم میتوان از icmstart استفاده کرد، اما معمولاً حداقل icmstart.rc ارائه میشود.
علاوه بر icstart.rc، تعریف فایلهای AUTHOR، VERSION و YEARS را در دایرکتوری پیکربندی مد نظر داشته باشید:
- o
- اگر فایل AUTHOR
وجود داشته
باشد باید
شامل یک خط
باشد که
نویسندهٔ
برنامه را
مشخص
میکند؛
مثلاً:
#define AUTHOR "Frank B. Brokken <f.b.brokken@rug.nl>"
در صورت عدم وجود، icmstart از مقدار پیشفرض استفاده میکند:
#define AUTHOR "". - o
- اگر فایل VERSION
وجود داشته
باشد باید
شامل یک خط
باشد که
نسخهٔ
برنامه را
تعریف
میکند؛
مثلاً:
#define VERSION "1.00.00"
در صورت عدم وجود، icmstart از مقدار پیشفرض استفاده میکند:
#define VERSION "0.01.00". - o
- اگر فایل YEARS
وجود داشته
باشد باید
شامل یک خط
باشد که سال
انتشار
اولیهٔ
برنامه یا
بازهای از
سالهای
انتشار را
مشخص
میکند؛
مثلاً:
#define YEARS "2024"
یا میتوان بازهای از سالها را تعریف کرد:#define YEARS "1992-2024"
در صورت عدم وجود، icmstart از مقدار پیشفرض استفاده میکند:
#define YEARS "yyyy" که در آن yyyy سال جاری است.
تعاریف AUTHOR، VERSION و YEARS در یک فایل به نام VERSION ترکیب شده و در دایرکتوری سطح بالا نصب میشوند.
اگر فایل icmstart.rc وجود نداشته باشد (یا خالی باشد)، icmstart تنها دایرکتوری سطح بالا، icmconf و VERSION را نصب میکند.
فایلها (FILES)
مسیرهای ذکرشده صرفاً پیشنهادی هستند و ممکن است بسته به نوع نصب متفاوت باشند:
همچنین ببینید (SEE ALSO)
گزارش باگها (BUGS)
نامهای مسیری که شامل فاصله باشند پشتیبانی نمیشوند.
کپیرایت و تکثیر (COPYRIGHT)
این یک نرمافزار آزاد است که تحت شرایط «پروانه عمومی همگانی گنو» (GPL) توزیع میشود.
نویسندگان (AUTHORS)
Frank B. Brokken (f.b.brokken@rug.nl).
| 1992-2025 | icmake.13.00.03 |