.\" $NetBSD: mkdep.1,v 1.18 2013/03/05 01:59:56 christos Exp $ .\" .\" Copyright (c) 1987, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mkdep.1 8.1 (Berkeley) 6/6/93 .\" .Dd March 4, 2013 .Dt BMKDEP 1 .Os .Sh "نام (NAME)" .Nm bmkdep .Nd ایجاد لیست وابستگی‌های Makefile .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Fl aDdiopqv .Op Fl f Ar file .Op Fl P Ar prefix .Op Fl s Ar suffixes .Li -- .Op Ar flags .Ar file ... .Sh "توضیحات (DESCRIPTION)" دستور .Nm مجموعه‌ای از فلگ‌ها برای کامپایلر C و فهرستی از فایل‌های منبع C را به عنوان آرگومان دریافت کرده و مجموعه‌ای از وابستگی‌های فایل‌های include را ایجاد می‌کند که در پرونده .Dq .depend نوشته می‌شوند. نمونه‌ای از کاربرد آن در یک Makefile می‌تواند به شکل زیر باشد: .Bd -literal -offset indent CFLAGS= -O -I../include SRCS= file1.c file2.c depend: bmkdep -- ${CFLAGS} ${SRCS} .Ed .Pp که در آن ماکروی SRCS فهرست فایل‌های منبع C و ماکروی CFLAGS فهرست فلگ‌های کامپایلر C است. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl a الحاق به فایل خروجی، به طوری که بتوان چندین .Nm را از یک Makefile واحد اجرا کرد. .It Fl D پس‌پردازش (مشابه .Fl d ) اما خواندن فهرست نام فایل‌ها از stdin. .It Fl d پس‌پردازش و ادغام فایل‌های وابستگی که پیش‌تر ایجاد شده‌اند (برای مثال توسط .Dq cc -MD x.c ) در قالب یک فایل واحد. .It Fl f نوشتن وابستگی‌های فایل‌های include در .Ar file , به جای مقدار پیش‌فرض .Dq .depend . .It Fl i هنگام استفاده از .Fl d یا .Fl D , به جای قرار دادن مستقیم محتوای فایل‌ها درون فایل وابستگی حاصل، از دستورات include برای گنجاندن فایل‌های وابستگی منبع استفاده شود. .It Fl o افزودن یک خط .Li .OPTIONAL اضافی برای هر فایل وابسته. .It Fl P پیشوند کردن رشته ارائه‌شده در .Ar prefix به ابتدای نام هر فایل هدف. این گزینه برای برنامه‌هایی مفید است که فایل‌های منبع آن‌ها در چندین زیرپوشه قرار دارند و یک Makefile واحد به‌طور صریح به همه آن‌ها ارجاع می‌دهد (بدون استفاده از قابلیت VPATH، زیرا ممکن است فایل‌هایی با نام یکسان در هر زیرپوشه وجود داشته باشد). .It Fl p باعث می‌شود .Nm وابستگی‌هایی به این شکل تولید کند: .Bd -literal -offset indent program: program.c .Ed .Pp به طوری که دستورهای بعدی make، .Ar program را مستقیماً از ماژول C آن تولید کنند، به جای اینکه از یک ماژول میانی .Pa \&.o استفاده شود. این ویژگی برای برنامه‌هایی مفید است که کد منبع آن‌ها در یک ماژول واحد قرار دارد. گزینه .Fl p معادل مشخص کردن یک پسوند تهی (null) با .Fl s است. .It Fl q در صورت مشخص شدن .Fl d , هشداری برای فایل‌های غیرقابل دسترس چاپ نکند. .It Fl s بسط دادن نام هر فایل هدف به یک فهرست، با جایگزین کردن پسوند .Ql \&.o با هر یک از عناصر .Ar suffixes . فهرست پسوندها می‌تواند با فاصله یا کاما از یکدیگر جدا شود. .It Fl v چاپ خروجی اشکال‌زدایی. .El .Sh "فایل‌ها (FILES)" .Bl -tag -width .depend -compact .It Pa .depend فایل حاوی فهرست وابستگی‌ها. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr cc 1 , .Xr cpp 1 , .Xr make 1 .Sh "تاریخچه (HISTORY)" دستور .Nm در .Bx 4.3 Tahoe ظاهر شد. .Sh "اشکالات (BUGS)" برخی از نویسه‌های ویژه برای .Xr make 1 , به‌ویژه نویسه توضیحات (کامنت)، در صورت وجود در نام فایل‌ها به‌درستی گریزدهی نمی‌شوند. این امر می‌تواند منجر به تولید خروجی غیرقابل تجزیه شده یا بدون هیچ هشداری موجب از دست رفتن وابستگی‌ها گردد. .\" (This problem is actually in gcc -M.)