این دستور makedepf90 است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
makedepf90 - لیست وابستگی Makefile را برای فایل های منبع فرترن ایجاد می کند.
خلاصه
makedepf90 [-h] [-V] [-W|-آشکار] [-گیج شدم] [-m fmt] [-u نام ماژول] [-d پرونده] [-r
رد] [-R پرونده رد] [-درست شد|-رایگان] [-o نام قابل اجرا] [-کوکو] [-D نام] [-b مسیر]
[-I PATH1:PATH2:...] [-nosrc] فایل های منبع)
شرح
makedepf90 برنامه ای برای ایجاد خودکار لیست های وابستگی و قوانین کامپایل است
برای Makefiles
ایده اصلی این بود که همان عملکرد فرترن را فراهم کند
gcc -MM *.c
این کار را برای C انجام می دهد. امروزه makedepf90 در واقع جایگزین این قابلیت می شود و من را متعجب می کند
اگر بخواهم makedepf90 را گسترش دهم تا از C و C++ نیز پشتیبانی کند ;-).
makedepf90 هر دو را پشتیبانی می کند ماژول ها, شامل:s، cpp(1) #include:s، f90ppr(1) $شامل:شن
درخت نارگیل(1) ؟؟شامل می شود و مجموعه فایل ها
makedepf90 فایل های منبع فرترن را که در خط فرمان داده شده اند می خواند و یک وابستگی می نویسد
لیست به stdout; برای هر فایل یک خط با فرمت زیر می نویسد:
اهداف : پیش نیازها
اهداف فایل هایی هستند که نتیجه کامپایل فایل با -c گزینه،
و پیش نیازها فایل هایی هستند که برای کامپایل کردن فایل مورد نیاز هستند. علاوه بر این، makedepf90
می تواند به صورت اختیاری خط وابستگی و قانون ساخت مورد نیاز برای پیوند نهایی را ایجاد کند
قابل اجرا
فورتان وابستگی
فایل های مورد نیاز برای کامپایل یک فایل، یعنی پیش نیازها از فایل عبارتند از:
- خود فایل منبع
- فایل هایی با اطلاعات رابط در مورد ماژول های USED، ایجاد شده توسط کامپایلر while
کامپایل کردن ماژول ها (اغلب نامگذاری می شوند نام ماژول.mod یا چیزی مشابه، از این پس
نام فایل های mod).
- شامل فایلها (شامل فایلهای گنجانده شده و فایلهای مود ماژولهای استفادهشده از اینها
شامل-فایل).
- درخت نارگیل مجموعه فایل ها، اگر درخت نارگیل(1) استفاده می شود و مجموعه فایل ها وجود دارد.
از آنجایی که کامپایلرهای مختلف از قراردادهای نامگذاری متفاوتی برای فایل های مد استفاده می کنند، آنها را فهرست می کنیم
در لیست وابستگی منجر به فایلهای غیرقابل حمل میشود. بنابراین این یک عمل رایج است
برای فهرست کردن فایل شی (نام فایل.o) مربوط به فایل منبع حاوی USED
در عوض ماژول ها این رفتار پیش فرض است makedepf90. برای تغییر این مورد، از -m
گزینه (مثلا -m "%m.mod" اگر کامپایلر شما فایل های مود را نام می برد نام ماژول.mod)
شامل فایلهایی که در دایرکتوری کاری یافت نمیشوند در وابستگی فهرست نمیشوند
فهرست، با فرض اینکه آنها بخشی از یک کتابخانه (به ندرت در حال تغییر) هستند نه بخشی از برنامه.
همچنین فایلهای mod از ماژولهایی که تعاریف آنها یافت نمیشوند، با همان فهرست فهرست نمیشوند
دلیل.
OPTIONS
این گزینه ها ممکن است در هر نقطه و به هر ترتیبی در خط فرمان داده شوند. فضای بین یک
گزینه و آرگومان آن اختیاری است. ممکن است گزینه ها گروه بندی نشوند (-hW یکسان نیست
چیز به عنوان -h -W).
-h or --کمک
یک پیام راهنما کوتاه برای stdout و ترک چاپ کنید.
-V or - نسخه
نسخه و اطلاعات حق چاپ را برای stdout و خروج چاپ کنید
-W or -آشکار
هشدارهای مربوط به ماژول های از دست رفته را چاپ کنید و فایل ها را اضافه کنید
-گیج شدم
اخطارها را هنگام اشتباه چاپ کنید (یا به دلیل اشکالات در خود makedepf90 یا
به دلیل چیزهای عجیب و غریب در فایل های منبع شما). اگر makedepf90 مقداری را از دست بدهد
وابستگی ها، یا انجام کارهای عجیب و غریب دیگر، این گزینه ممکن است ایده ای در مورد چیستی ارائه دهد
در جریان.
-m fmt بگو makedepf90 که فایل های mod دارای نام فرمت هستند fmt. fmt ممکن است حاوی
اصلاح کننده ها %f برای نام فایل (بدون نام فایل . پسوند)، %m برای نام ماژول (در
حروف کوچک)، %M برای MODULENAME (با حروف بزرگ) و %% برای '٪'. پیش فرض "%fo" است.
-u نام ماژول
همه ماژول های نامگذاری شده را نادیده بگیرید نام ماژول.
-d پرونده
همه اهداف را وابسته کنید پرونده.
-r رد
اضافه کردن رد (تورفتگی با یک زبانه) به همه خطوط وابستگی به جز خطوط داده شده قانون(های)
با -R گزینه.
رد ممکن است شامل اصلاح کننده های زیر باشد: %f برای نام فایل منبع
(بدون پسوند) خط وابستگی برای و ایجاد می شود %% برای '٪'.
-R 'الگو' 'قانون'
فایل های مطابق با الگوی پوسته را کامپایل کنید الگو با استفاده از قانون رد. به الگو,
می توان از حروف عام زیر استفاده کرد: * = هر تعداد از هر کاراکتر، ? = هر
شخصیت و [abc] = هر یک از a, b or c. توجه داشته باشید که تطبیق الگو باید باشد
انجام شده توسط makedepf90، نه پوسته. از این رو الگو باید محصور شود
نقل قول ها (" or ') برای رد قوانین مشابهی را اعمال می کند -r در بالا.
توجه داشته باشید که تفاوت ظریفی بین "-r رد"و"-R '*' رد". در
مورد سابق رد فقط برای خطوطی اعمال خواهد شد که هیچ قاعده ای در آن وجود ندارد -R، در حالی که
در مورد دوم، رد اعمال خواهد شد تمام خطوط
-درست شد / -رایگان
با فایل ها به عنوان فرمت منبع ثابت/رایگان رفتار کنید. اگر هر دو گزینه داده شود، دومی
استفاده می شود. پیش فرض: فایل هایی با پسوند .f، .F، .برای، .برای or ftn به عنوان رفتار می شود
فرمت ثابت و .f90، .F90، f95 or .F95 به عنوان فرمت رایگان در نظر گرفته می شوند.
-o نام
این گزینه باعث می شود makedepf90 برای تعریف ماکرو Makefile FOBJ=فایل های شی,
و یک خط وابستگی + قانون برای فرآیند پیوند نهایی برای ایجاد فایل اجرایی
نام. برای تنظیم قانون پیوند، از گزینه استفاده کنید -l.
-l رد
استفاده کنید رد هنگام پیوند دادن فایل اجرایی پیش فرض است
$ (FC) -o $@ $(FFLAGS) $(LDFLAGS) $ (FOBJ) $(LIBS).
این گزینه هیچ تاثیری ندارد مگر اینکه -o استفاده می شود.
-کوکو به دنبال درخت نارگیل(1) مجموعه فایل ها (درخت نارگیل ??include:s به صورت خودکار پشتیبانی می شوند). این
گزینه دلالت دارد -رایگان.
-D نام
نماد پیش پردازنده را تعریف کنید نام.
-b مسیر
درخت وابستگی و قانون پیوند فرض می کند که اشیاء در آن قرار می گیرند مسیر. این هست
زمانی مفید است که بیلد فایل های شی را در دایرکتوری متفاوت از منبع قرار دهد
فایل های.
-I لیست مسیرها
به دنبال منبع/شامل فایلها در لیست مسیرها، اگر در کار فعلی یافت نشد
فهرست راهنما. اینجا، لیست مسیرها یک لیست از نام مسیرها جدا شده از دو نقطه است.
-nosrc فایل منبع را جزو پیش نیازها قرار ندهید.
مثال ها
اساسی استفاده
در اینجا یک مثال از پایه است makedepf90 استفاده همراه با ساخت(1). یک فایل به نام ایجاد کنید
makefile با مطالب زیر:
----------------------
# FC = کامپایلر مورد استفاده
FC=f90
# گزینه های کامپایلر
FFLAGS=-O
# کتابخانه های مورد استفاده برنامه را در اینجا فهرست کنید
LIBS=
# قوانین پسوندی: با دور انداختن تمام پسوندهای قدیمی شروع کنید
# قانون، و سپس موارد جدید را برای کامپایل ایجاد کنید
# *.f90-files.
پسوندها:
.پسوندها: .f90 .o
.f90.o:
$(FC) -c $(FFLAGS) $
# لیست وابستگی ایجاد شده توسط makedepf90 را در زیر وارد کنید
شامل . بستگی دارد
# پاک را برای حذف شی - *.mod- و موارد دیگر هدف قرار دهید
# فایل ناخواسته
تمیز:
هسته rm -f *.o *.mod
# با استفاده از makedepf90 یک لیست وابستگی ایجاد کنید. تمام فایل های
# که برای ساخت برنامه باید کامپایل شود،
# یعنی همه فایل های منبع به جز شامل فایل ها، باید
# در خط فرمان به makedepf90 داده می شود.
#
# آرگومان گزینه '-o' نام آن خواهد بود
در این مورد، # برنامه در هنگام اجرای "make".
# 'foobar'
وابسته .depend:
makedepf90 -o foobar *.f90 > .depend
-----------------------
(توجه داشته باشید که تمام خطوط فرورفته باید با زبانه ها تورفتگی داشته باشند نه فاصله ها)
با این makefile، دستور ساخت باید تمام دستورات مورد نیاز برای کامپایل و
برنامه را پیوند دهید فوبار از تمام فایل های *.f90 موجود در فهرست کار.
لیست وابستگی وابسته است (دوباره) ایجاد خواهد شد اگر وابسته است وجود ندارد، یا اگر
فرمان ساخت بستگی دارد اجرا می شود. این باید هر بار که تغییراتی در آن ایجاد شده است انجام شود
برنامه ای که بر وابستگی فایل ها تأثیر می گذارد (مثلاً اگر فایل های منبع جدید اضافه شده باشد
به پروژه).
مثال با درخت نارگیل
اگر از یک پیش پردازنده استفاده می کنید، ممکن است اوضاع پیچیده تر شود. اگر خوششانس باشی،
کامپایلر شما از پیش پردازنده شما پشتیبانی می کند و آن را به صورت خودکار روی کد شما اجرا می کند، اما اگر
اینطور نیست، شما باید خودتان دستورات اجرای پیش پردازنده را بدهید. در زیر یک است
نمونه ای از Makefile برای درخت نارگیل(1)-کاربران.
-----------------------
FC=f90
FFLAGS=-O
PREPROCESSOR=کوکو
پسوندها:
.پسوندها: .f .f90 .o
# فایل هایی که به .f90 ختم می شوند مستقیماً کامپایل می شوند ...
.f90.o:
$(FC) -c $(FFLAGS) $
# ... در حالی که آنهایی که به .f ختم می شوند ابتدا پیش پردازش می شوند.
.fo:
$(PREPROCESSOR) $*; $(FC) -c $(FFLAGS) $*.f90
شامل . بستگی دارد
تمیز:
هسته rm -f *.o *.mod
وابسته .depend:
makedepf90 -coco -o foobar *.f90 *.f > .depend
-----------------------
توجه: برخی از پیاده سازی های ساخت(1) هیچ فرمانی را اجرا نمی کند - حتی ساخت بستگی دارد
- با Makefiles بالا مگر اینکه فایلی به نام وجود داشته باشد وابسته است. برای غلبه بر این
مشکل، یا اجرا کنید makedepf90 به صورت دستی، یا با ایجاد یک خالی شروع کنید وابسته است پرونده با
فرمان لمس وابسته است.
عیب یابی
بیشتر پیامهای خطا و هشدار توضیحی هستند، اما برخی از آنها ممکن است به برخی نیاز داشته باشند
توضیحات بیشتر:
هشدار: بازگشت محدود کردن رسیده in پرونده نام فایل
وقتی فایلهای شامل را به صورت بازگشتی تجزیه میکنند، makedepf90 به حد بازگشت رسیده است.
دلایل احتمالی عبارتند از: یا دارید واقعا سیستم های پیچیده شامل
فایلها، یا شامل بازگشتی هستید (مثلاً یک فایل شامل که خودش را شامل میشود).
در مورد دوم؛ آن را برطرف کنید، کامپایلر Fortran شما نیز آن را دوست نخواهد داشت.
با استفاده از خدمات onworks.net از makedepf90 به صورت آنلاین استفاده کنید