.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MAKE 1 "26 مايو 2023" GNU "أوامر المستخدم" .SH الاسم make \- أداة GNU Make لصيانة مجموعات البرامج .SH موجز \fBmake\fP [\fIخيار\fP]... [\fIهدف\fP]... .SH الوصف .LP تحدد أداة \fImake\fP آلي أي أجزاء من برنامج كبير تحتاج إلى إعادة ترجمة، وتصدر الأوامر لإعادة ترجمتها. يصف الدليل تنفيذ GNU لـ \fBmake\fP، الذي كتبه ريتشارد ستالمان ورولاند ماكغراث، ويُصان حالياً بواسطة بول سميث. تظهر أمثلتنا برامج C، لأنها شائعة جداً، لكن يمكنك استخدام \fBmake\fP مع أي لغة برمجة يمكن تشغيل مترجمها بأمر شل. في الواقع، \fBmake\fP ليس مقتصراً على البرامج. يمكنك استخدامه لوصف أي مهمة حيث يجب تحديث بعض الملفات آلي من ملفات أخرى كلما تغيرت تلك الأخرى. .LP للتحضير لاستخدام \fBmake\fP، يجب كتابة ملف يُسمى \fImakefile\fP يصف العلاقات بين الملفات في برنامجك، ويوفر أوامر لتحديث كل ملف. في البرنامج، يُحدث الملف التنفيذي عادة من ملفات كائنية، والتي تُصنع بدورها بترجمة ملفات المصدر. .LP بمجرد وجود makefile مناسب، كل مرة تغير فيها بعض ملفات المصدر، يكفي أمر الشل البسيط هذا: .sp 1 .RS \fBmake\fP .RE .sp 1 لتنفيذ جميع إعادة الترجمة الضرورية. يستخدم برنامج \fBmake\fP وصف makefile وأوقات آخر تعديل للملفات ليقرر أي الملفات تحتاج إلى تحديث. لكل من تلك الملفات، يصدر الأوامر المسجلة في makefile. .LP ينفذ \fBmake\fP الأوامر في \fImakefile\fP لتحديث هدف واحد أو أكثر \fItargets\fP، حيث \fItarget\fP هو عادة برنامج. إذا لم يوجد خيار \fB\-f\fP، سيبحث \fBmake\fP عن ملفات makefiles \fIGNUmakefile\fP و \fImakefile\fP و \fIMakefile\fP بهذا الترتيب. .LP عادة يجب تسمية makefile الخاص بك إما \fImakefile\fP أو \fIMakefile\fP. (نوصي بـ \fIMakefile\fP لأنه يظهر بشكل بارز قرب بداية قائمة الدليل، بجوار ملفات مهمة أخرى مثل \fIREADME\fP.) الاسم الأول الذي يُفحص، \fIGNUmakefile\fP، غير موصى به لمعظم ملفات makefile. يجب استخدام هذا الاسم إذا كان لديك makefile خاص بـ GNU Make، ولن تُفهمه إصدارات أخرى من \fBmake\fP. إذا كان \fImakefile\fP هو '\-'، يُقرأ الإدخال المعياري. .LP يُحدث \fBmake\fP هدفاً إذا كان يعتمد على ملفات مسبقة الشرط تم تعديلها منذ آخر تعديل للهدف، أو إذا كان الهدف غير موجود. .SH الخيارات .sp 1 .TP 0.5i \fB\-b\fP، \fB\-m\fP تُتجاهل هذه الخيارات للتوافق مع إصدارات أخرى من \fBmake\fP. .TP 0.5i \fB\-B\fP، \fB\-\-always\-make\fP صنع جميع الأهداف دون شرط. .TP 0.5i \fB\-C\fP \fIdir\fP، \fB\-\-directory\fP=\fIdir\fP التغيير إلى الدليل \fIdir\fP قبل قراءة ملفات makefile أو فعل أي شيء آخر. إذا تم تحديد خيارات \fB\-C\fP متعددة، يُفسر كل منها بالنسبة للسابق: \fB\-C \fP/ \fB\-C \fPetc مكافئ لـ \fB\-C \fP/etc. يُستخدم هذا عادة مع الاستدعاءات التكرارية لـ \fBmake\fP. .TP 0.5i \fB\-d\fP طباعة معلومات التصحيح بالإضافة إلى المعالجة العادية. تخبر معلومات التصحيح أي الملفات يُنظر فيها لإعادة الصنع، وأي أوقات الملفات تُقارن وبأي نتائج، وأي الملفات تحتاج فعلاً إلى إعادة الصنع، وأي القواعد الضمنية تُنظر فيها وأيها تُطبق\-\-\-كل شيء مثير حول كيف يقرر \fBmake\fP ما يفعله. .TP 0.5i \fB\-\-debug\fP\fI[=أعلام]\fP طباعة معلومات التصحيح بالإضافة إلى المعالجة العادية. إذا تم حذف \fIأعلام\fP، يكون السلوك مماثلاً كما لو تم تحديد \fB\-d\fP. يمكن أن تكون \fIأعلام\fP أي أو كل الأسماء التالية، مفصولة بفاصلة أو مسافة. الحرف الأول فقط مهم: يمكن حذف الباقي: \fIall\fP لكل مخرجات التصحيح (نفس استخدام \fB\-d\fP)، \fIbasic\fP للتصحيح الأساسي، \fIverbose\fP للتصحيح الأساسي الأكثر تفصيلاً، \fIimplicit\fP لإظهار عمليات البحث عن القواعد الضمنية، \fIjobs\fP لتفاصيل استدعاء الأوامر، \fImakefile\fP للتصحيح أثناء إعادة صنع ملفات makefile، \fIprint\fP يُظهر جميع الوصفات التي تُشغل حتى لو كانت صامتة، و \fIwhy\fP يُظهر سبب قرار \fBmake\fP بإعادة بناء كل هدف. استخدم \fInone\fP لتعطيل جميع أعلام التصحيح السابقة. .TP 0.5i \fB\-e\fP، \fB\-\-environment\-overrides\fP إعطاء المتغيرات المأخوذة من البيئة أولوية على المتغيرات من ملفات makefile. .TP 0.5i \fB\-E\fP \fIسلسلة\fP، \fB\-\-eval\fP \fIسلسلة\fP تفسير \fIسلسلة\fP باستخدام دالة \fBeval\fP، قبل تحليل أي ملفات makefile. .TP 0.5i \fB\-f\fP \fIملف\fP، \fB\-\-file\fP=\fIملف\fP، \fB\-\-makefile\fP=\fIملف\fP استخدام \fIملف\fP كـ makefile. .TP 0.5i \fB\-i\fP، \fB\-\-ignore\-errors\fP تجاهل جميع الأخطاء في الأوامر المنفذة لإعادة صنع الملفات. .TP 0.5i \fB\-I\fP \fIdir\fP, \fB\-\-include\-dir\fP=\fIdir\fP يحدد دليلاً \fIdir\fP للبحث عن ملفات make المضمنة. إذا استُخدمت عدة خيارات \fB\-I\fP لتحديد عدة أدلة، تُبحث الأدلة بالترتيب المحدد. على عكس الوسائط للأعلام الأخرى لـ \fBmake\fP، قد تأتي الأدلة المعطاة بأعلام \fB\-I\fP مباشرة بعد العلم: \fB\-I\fP\fIdir\fP مسموح به، وكذلك \fB\-I\fP \fIdir\fP. هذه الصياغة مسموح بها للتوافق مع علم \fB\-I\fP للمعالج المسبق للغة C. .TP 0.5i \fB\-j\fP [\fIjobs\fP], \fB\-\-jobs\fP[=\fIjobs\fP] يحدد عدد \fIjobs\fP (الأوامر) التي تُشغّل في وقت واحد. إذا وُجد أكثر من خيار \fB\-j\fP، يكون الأخير هو الفعال. إذا أُعطي خيار \fB\-j\fP بدون وسيط، لن يحد \fBmake\fP من عدد الوظائف التي يمكن تشغيلها في وقت واحد. .TP 0.5i \fB\-\-jobserver\-style=\fP\fIstyle\fP نمط خادم الوظائف المستخدم. قد يكون \fIstyle\fP واحدًا من \fBfifo\fP أو \fBpipe\fP أو \fBsem\fP (لنظام ويندوز فقط). .TP 0.5i \fB\-k\fP, \fB\-\-keep\-going\fP يستمر قدر الإمكان بعد حدوث خطأ. بينما لا يمكن إعادة بناء الهدف الذي فشل وتلك التي تعتمد عليه، يمكن معالجة التبعيات الأخرى لهذه الأهداف بنفس الطريقة. .TP 0.5i \fB\-l\fP [\fIload\fP], \fB\-\-load\-average\fP[=\fIload\fP] يحدد أنه لا ينبغي بدء أي وظائف جديدة (أوامر) إذا كانت هناك وظائف أخرى قيد التشغيل وكان متوسط الحمل على الأقل \fIload\fP (رقم عشري). بدون وسيط، يزيل حد الحمل السابق. .TP 0.5i \fB\-L\fP, \fB\-\-check\-symlink\-times\fP يستخدم أحدث وقت تعديل بين الروابط الرمزية والهدف. .TP 0.5i \fB\-n\fP, \fB\-\-just\-print\fP, \fB\-\-dry\-run\fP, \fB\-\-recon\fP يطبع الأوامر التي سيتم تنفيذها، لكن لا ينفذها (باستثناء ظروف معينة). .TP 0.5i \fB\-o\fP \fIfile\fP, \fB\-\-old\-file\fP=\fIfile\fP, \fB\-\-assume\-old\fP=\fIfile\fP لا يعيد بناء الملف \fIfile\fP حتى لو كان أقدم من تبعياته، ولا يعيد بناء أي شيء بسبب تغييرات في \fIfile\fP. أساسًا يُعامل الملف على أنه قديم جدًا وتُتجاهل قواعده. .TP 0.5i \fB\-O\fP[\fItype\fP], \fB\-\-output\-sync\fP[=\fItype\fP] عند تشغيل عدة وظائف بالتوازي مع \fB\-j\fP، يضمن جمع مخرجات كل وظيفة معًا بدلاً من تداخلها مع مخرجات وظائف أخرى. إذا لم يُحدد \fItype\fP أو كان \fBtarget\fP، تُجمع مخرجات الوصفة الكاملة لكل هدف معًا. إذا كان \fItype\fP هو \fBline\fP، تُجمع مخرجات كل سطر أمر داخل وصفة معًا. إذا كان \fItype\fP هو \fBrecurse\fP، تُجمع مخرجات make استدعائي كامل معًا. إذا كان \fItype\fP هو \fBnone\fP، يُعطل تزامن المخرجات. .TP 0.5i \fB\-p\fP, \fB\-\-print\-data\-base\fP يطبع قاعدة البيانات (القواعد وقيم المتغيرات) الناتجة عن قراءة ملفات make؛ ثم ينفذ كالمعتاد أو كما هو محدد خلاف ذلك. يطبع هذا أيضًا معلومات الإصدار المعطاة بواسطة المفتاح \fB\-v\fP (انظر أدناه). لطباعة قاعدة البيانات دون محاولة إعادة بناء أي ملفات، استخدم \fImake \-p \-f/dev/null\fP. .TP 0.5i \fB\-q\fP, \fB\-\-question\fP \*(lqوضع الاستعلام\*(rq. لا يشغل أي أوامر، ولا يطبع أي شيء؛ فقط يُرجع حالة خروج تكون صفرًا إذا كانت الأهداف المحددة محدثة بالفعل، وغير صفرية خلاف ذلك. .TP 0.5i \fB\-r\fP, \fB\-\-no\-builtin\-rules\fP يلغي استخدام القواعد الضمنية المضمنة. يمسح أيضًا القائمة المبدئية للواحق لقواعد اللواحق. .TP 0.5i \fB\-R\fP, \fB\-\-no\-builtin\-variables\fP لا يعرف أي متغيرات مضمنة. .TP 0.5i \fB\-s\fP، \fB\-\-silent\fP، \fB\-\-quiet\fP تشغيل صامت؛ لا يطبع الأوامر أثناء تنفيذها. .TP 0.5i \fB\-\-no\-silent\fP يلغي تأثير الخيار \fB\-s\fP. .TP 0.5i \fB\-S\fP, \fB\-\-no\-keep\-going\fP, \fB\-\-stop\fP ألغِ تأثير الخيار \fB\-k\fP. .TP 0.5i \fB\-t\fP, \fB\-\-touch\fP المس الملفات (وسمها كحديثة دون تغييرها فعليًا) بدلاً من تشغيل أوامرها. يُستخدم هذا للتظاهر بأن الأوامر نُفذت، بهدف خداع استدعاءات مستقبلية لـ \fBmake\fP. .TP 0.5i \fB\-\-trace\fP تُطبع معلومات حول حالة كل هدف (لماذا يُعاد بناء الهدف وما الأوامر التي تُشغل لإعادة بنائه). .TP 0.5i \fB\-v\fP، \fB\-\-version\fP اطبع إصدار برنامج \fBmake\fP بالإضافة إلى حقوق النشر وقائمة بالمؤلفين وإشعار بعدم وجود ضمان. .TP 0.5i \fB\-w\fP, \fB\-\-print\-directory\fP اطبع رسالة تحتوي على دليل العمل قبل وبعد المعالجة الأخرى. قد يكون هذا مفيدًا لتتبع الأخطاء من التداخلات المعقدة لأوامر \fBmake\fP التكرارية. .TP 0.5i \fB\-\-no\-print\-directory\fP أطفئ \fB\-w\fP، حتى لو كان قد شُغل ضمنيًا. .TP 0.5i \fB\-\-shuffle\fP\fI[=MODE]\fP فعّل خلط ترتيب الأهداف والمتطلبات الأساسية. \fIMODE\fP هو أحد: \fInone\fP لتعطيل وضع الخلط، \fIrandom\fP لخلط المتطلبات الأساسية بترتيب عشوائي، \fIreverse\fP لاعتبار المتطلبات الأساسية بترتيب عكسي، أو عدد صحيح \fI\fP الذي يفعّل وضع \fIrandom\fP بقيمة \fIseed\fP محددة. إذا حُذف \fIMODE\fP فالمبدئي هو \fIrandom\fP. .TP 0.5i \fB\-W\fP \fIfile\fP, \fB\-\-what\-if\fP=\fIfile\fP, \fB\-\-new\-file\fP=\fIfile\fP, \fB\-\-assume\-new\fP=\fIfile\fP تظاهر بأن الهدف \fIfile\fP قد عُدّل للتو. عند استخدامه مع العلم \fB\-n\fP، يُظهر هذا ما سيحدث إذا عدّلت ذلك الملف. بدون \fB\-n\fP، هو تقريبًا نفس تشغيل أمر \fItouch\fP على الملف المعطى قبل تشغيل \fBmake\fP، باستثناء أن وقت التعديل يُغير فقط في خيال \fBmake\fP. .TP 0.5i \fB\-\-warn\-undefined\-variables\fP حذر عند الإشارة إلى متغير غير معرف. .SH "حالة الخروج" يخرج GNU Make بحالة صفر إذا حُللت جميع ملفات make بنجاح ولم يفشل أي هدف بُني. تُعاد حالة واحد إذا استُخدم العلم \fB\-q\fP وقرر \fBmake\fP أن هدفًا يحتاج إلى إعادة بناء. تُعاد حالة اثنان إذا وُجدت أي أخطاء. .SH "انظر أيضًا" الوثائق الكاملة لـ \fBmake\fP تُحافظ عليها كدليل Texinfo. إذا كان برنامجا \fBinfo\fP و \fBmake\fP مثبتين بشكل صحيح في موقعك، الأمر .IP \fBinfo make\fP .PP سيتيح لك الوصول إلى الدليل الكامل. .SH العلل انظر الفصل \*(lqProblems and Bugs\*(rq في \fIThe GNU Make Manual\fP. .SH المؤلف صفحة الدليل هذه ساهم بها Dennis Morse من جامعة Stanford. تحديثات إضافية ساهم بها Mike Frysinger. أُعيد صياغتها بواسطة Roland McGrath. يُحافظ عليها بواسطة Paul Smith. .SH "حقوق النسخ" حقوق النشر \(co 1992\-1993, 1996\-2023 Free Software Foundation, Inc. هذا الملف جزء من \fIGNU Make\fP. .LP GNU Make هو برنامج حر؛ يمكنك إعادة توزيعه و/أو تعديله وفقًا لشروط رخصة GNU العامة كما تنشرها مؤسسة البرمجيات الحرة؛ إما الإصدار 3 من الرخصة، أو (حسب اختيارك) أي إصدار لاحق. .LP يُوزع GNU Make على أمل أن يكون مفيدًا، ولكن دون أي ضمان؛ حتى دون الضمان الضمني للتسويق أو الملاءمة لغرض معين. راجع رخصة GNU العامة لمزيد من التفاصيل. .LP يجب أن تكون قد تلقيت نسخة من رخصة GNU العامة مع هذا البرنامج. إذا لم يكن الأمر كذلك، انظر \fIhttps://www.gnu.org/licenses/\fP. .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .