BMKDEP(1) General Commands Manual BMKDEP(1)

bmkdep — ایجاد لیست وابستگی‌های Makefile

bmkdep [-aDdiopqv] [-f file] [-P prefix] [-s suffixes] -- [flags] file ...

دستور bmkdep مجموعه‌ای از فلگ‌ها برای کامپایلر C و فهرستی از فایل‌های منبع C را به عنوان آرگومان دریافت کرده و مجموعه‌ای از وابستگی‌های فایل‌های include را ایجاد می‌کند که در پرونده “.depend” نوشته می‌شوند. نمونه‌ای از کاربرد آن در یک Makefile می‌تواند به شکل زیر باشد:

CFLAGS= -O -I../include
SRCS= file1.c file2.c

depend:
	bmkdep -- ${CFLAGS} ${SRCS}

که در آن ماکروی SRCS فهرست فایل‌های منبع C و ماکروی CFLAGS فهرست فلگ‌های کامپایلر C است.

گزینه‌ها به شرح زیر هستند:

الحاق به فایل خروجی، به طوری که بتوان چندین bmkdep را از یک Makefile واحد اجرا کرد.
پس‌پردازش (مشابه -d) اما خواندن فهرست نام فایل‌ها از stdin.
پس‌پردازش و ادغام فایل‌های وابستگی که پیش‌تر ایجاد شده‌اند (برای مثال توسط “cc -MD x.c”) در قالب یک فایل واحد.
نوشتن وابستگی‌های فایل‌های include در file, به جای مقدار پیش‌فرض “.depend”.
هنگام استفاده از -d یا -D, به جای قرار دادن مستقیم محتوای فایل‌ها درون فایل وابستگی حاصل، از دستورات include برای گنجاندن فایل‌های وابستگی منبع استفاده شود.
افزودن یک خط .OPTIONAL اضافی برای هر فایل وابسته.
پیشوند کردن رشته ارائه‌شده در prefix به ابتدای نام هر فایل هدف. این گزینه برای برنامه‌هایی مفید است که فایل‌های منبع آن‌ها در چندین زیرپوشه قرار دارند و یک Makefile واحد به‌طور صریح به همه آن‌ها ارجاع می‌دهد (بدون استفاده از قابلیت VPATH، زیرا ممکن است فایل‌هایی با نام یکسان در هر زیرپوشه وجود داشته باشد).
باعث می‌شود bmkdep وابستگی‌هایی به این شکل تولید کند:
program: program.c

به طوری که دستورهای بعدی make، program را مستقیماً از ماژول C آن تولید کنند، به جای اینکه از یک ماژول میانی .o استفاده شود. این ویژگی برای برنامه‌هایی مفید است که کد منبع آن‌ها در یک ماژول واحد قرار دارد. گزینه -p معادل مشخص کردن یک پسوند تهی (null) با -s است.

در صورت مشخص شدن -d, هشداری برای فایل‌های غیرقابل دسترس چاپ نکند.
بسط دادن نام هر فایل هدف به یک فهرست، با جایگزین کردن پسوند ‘.o’ با هر یک از عناصر suffixes. فهرست پسوندها می‌تواند با فاصله یا کاما از یکدیگر جدا شود.
چاپ خروجی اشکال‌زدایی.

.depend
فایل حاوی فهرست وابستگی‌ها.

cc(1), cpp(1), make(1)

دستور bmkdep در 4.3BSD-Tahoe ظاهر شد.

برخی از نویسه‌های ویژه برای make(1), به‌ویژه نویسه توضیحات (کامنت)، در صورت وجود در نام فایل‌ها به‌درستی گریزدهی نمی‌شوند. این امر می‌تواند منجر به تولید خروجی غیرقابل تجزیه شده یا بدون هیچ هشداری موجب از دست رفتن وابستگی‌ها گردد.

March 4, 2013 Linux 6.12.107+deb13-amd64