Skip to main content

فهم قيادة يونيكس ولينكس: جعل

Linux Tutorial for Beginners: Introduction to Linux Operating System (يوليو 2026)

Linux Tutorial for Beginners: Introduction to Linux Operating System (يوليو 2026)
Anonim

الغرض من الأداة المساعدة هو تحديد الأجزاء المطلوبة من البرنامج الكبير تلقائيًا وإعادة إصدار الأوامر لإعادة تجميعها. يصف الدليل تنفيذ غنو للتنفيذ ، الذي كتبه ريتشارد ستولمن ورولاند ماكغراث. تعرض هذه الأمثلة برامج C لأنها أكثر شيوعًا ، ولكن يمكنك استخدامها مع أي لغة برمجة يمكن تشغيل مترجمها باستخدام أمر shell. في الواقع ، لا يقتصر الأمر على البرامج. يمكنك استخدامه لوصف أي مهمة حيث يجب تحديث بعض الملفات تلقائيًا من الآخرين عندما يتغير الآخرون.

ملحوظة: هذه الصفحة هي مقتطف من وثائق جنو . يتم تحديثه فقط من حين لآخر لأن مشروع جنو لا يستخدم nroff. للحصول على الوثائق الكاملة والحالية ، ارجع إلى ملف المعلومات make.info الذي تم إنشاؤه من ملف مصدر Texinfo make.texinfo.

بناء الجملة وإعداد جعل فائدة

يصنع -F MAKEFILE اختيار … استهداف …

للتحضير لاستخدام الاستخدام ، يجب أن تكتب ملفًا باسم makefile يصف العلاقات بين الملفات الموجودة في البرنامج ويذكر الأوامر الخاصة بتحديث كل ملف. عادة يتم تحديث ملف قابل للتنفيذ من ملفات الكائن ، والتي بدورها مصنوعة من قبل تجميع الملفات المصدر.

بمجرد وجود ملف makefile مناسب ، في كل مرة تقوم فيها بتغيير بعض ملفات المصدر ، فهذا أمر shell بسيط يصنع يكفي لأداء جميع recompilations اللازمة. يستخدم برنامج make قاعدة بيانات makefile وأوقات التعديل الأخيرة للملفات لتحديد أي من الملفات تحتاج إلى تحديث. لكل من هذه الملفات ، فإنه يصدر الأوامر المسجلة في قاعدة البيانات.

الأداة المساعدة جعل تنفيذ الأوامر في makefile لتحديث واحد أو أكثر من أسماء الهدف ، حيث اسم هو عادة برنامج. إذا لا-F الخيار موجود ، سيجعل البحث عن makefilesGNUmakefile, MAKEFILEوماكيفيلي، بهذا الترتيب.

عادة يجب عليك استدعاء makefile الخاص بك إما makefile أو Makefile. (من المستحسن استخدام Makefile لأنه يظهر بشكل بارز بالقرب من بداية قائمة الدليل ، بالقرب من الملفات المهمة الأخرى مثلREADME.) أول اسم محدد ، GNUmakefile ، غير مستحسن لمعظم makefiles. يجب عليك استخدام هذا الاسم إذا كان لديك makefile محدد لغنو ، ولن يتم فهمه من خلال إصدارات أخرى. إذا كان makefile -يتم قراءة الإدخال القياسي.

ال يصنع تقوم الأداة بتحديث هدف إذا كان ذلك يعتمد على ملفات المتطلبات الرئيسية التي تم تعديلها منذ آخر تعديل للهدف ، أو إذا كان الهدف غير موجود.

خيارات

ال و -m يتم تجاهل الخيارات للتوافق مع إصدارات أخرى من.

-C دير سوف يتغير إلى الدليل dir قبل قراءة makefiles أو القيام بأي شيء آخر. إذا متعددة-C يتم تحديد الخيارات ، يتم تفسير كل منها بالنسبة إلى الخيار السابق:-C/ -C الخ ما يعادل-C / وغيرها. يستخدم هذا عادة مع الدعوات المتكررة العودية.

ال الخيار سوف يطبع معلومات التصحيح بالإضافة إلى المعالجة العادية. تقول معلومات تصحيح الأخطاء عن الملفات التي يجري النظر في إعادة صياغتها ، وأوقات الملفات التي تتم مقارنتها ، وما هي النتائج ، والملفات التي تحتاج إلى إعادة التجميع ، والقواعد الضمنية التي يتم وضعها والتي يتم تطبيقها - كل شيء مثير للاهتمام حول كيفية اتخاذ القرار بشأن ما يجب فعله .

ال -e الخيار يعطي المتغيرات المأخوذة من البيئة الأسبقية على المتغيرات من makefiles.

ال -F ملف يستخدم الخيار ملف كما makefile.

ال -أنا يتجاهل كل الأخطاء في الأوامر المنفذة لإعادة تشكيل الملفات.

ال -أنا دير الخيار يحدد دليل دير للبحث عن makefiles المدرجة. إذا عدة-أنا يتم استخدام الخيارات لتحديد عدة دلائل ، يتم البحث في الدلائل بالترتيب المحدد. على عكس الحجج إلى أعلام أخرى من صنع ، والدلائل التي أعطيت مع-أنا قد تأتي الأعلام مباشرة بعد العلم:-Idir مسموح به ، وكذلكمن أنا . هذه البنية مسموح بها للتوافق مع المعالج الأولي C-أنا العلم.

ال وظائف -j الخيار يحدد عدد الوظائف (الأوامر) ليعمل في وقت واحد. إذا كان هناك أكثر من واحد-j الخيار ، آخر واحد فعال. إذا كان-j يتم إعطاء الخيار دون حجة ، لن تحد من عدد الوظائف التي يمكن تشغيلها في وقت واحد.

ال يستمر الخيار قدر الإمكان بعد الخطأ ؛ في حين أن الهدف الذي فشل ، وتلك التي تعتمد عليه ، لا يمكن تجديده ، يمكن الاعتماد على الاعتمادات الأخرى لهذه الأهداف بنفس الطريقة.

ال -l و -l الحمل تحدد الخيارات أنه لا يجب بدء أية مهام جديدة (أوامر) في حالة وجود مهام أخرى قيد التشغيل ، ومتوسط ​​التحميل على الأقلحمل (رقم عائم). بدون أي وسيطة ، يقوم بإزالة حد حمولة سابق.

ال -n الخيار طباعة الأوامر التي سيتم تنفيذها ، ولكن لا تنفذها.

ال -o ملف الخيار لا يعيد ملف حتى لو كان أقدم من تبعياته ، ولا يعيد تشكيل أي شيء بسبب التغيرات في ملف . بشكل أساسي ، يتم التعامل مع الملف على أنه قديم جدًا ويتم تجاهل قواعده.

ال -p الخيار يطبع قاعدة البيانات (القواعد وقيم المتغير) التي تنتج من قراءة makefiles. ثم ينفذ كالمعتاد أو كما هو محدد خلاف ذلك.هذا أيضا طباعة معلومات الإصدار التي قدمها-الخامس التبديل (انظر أدناه). لطباعة قاعدة البيانات دون محاولة إعادة تشكيل أي ملفات ، استخدميصنع -p -f / ديف / لاغية .

ال -q الخيار يحدد وضع السؤال. لا تقم بتشغيل أي أوامر أو تطبع أي شيء ، فقط قم بإرجاع حالة الخروج التي تكون صفر إذا كانت الأهداف المحددة محدثة بالفعل ، غير صفرية.

ال -r الخيار يلغي استخدام القواعد الضمنية المضمنة. يزيل أيضا القائمة الافتراضية لواحق لقواعد اللاحقة.

ال -s الخيار يسكت العملية. لا تتم طباعة الأوامر كما يتم تنفيذها.

ال -S الخيار يلغي تأثير اختيار. هذا ليس من الضروري أبدا إلا في شكل تعاودي أين قد تكون موروثة من المستوى الأعلى عبر MAKEFLAGS أو إذا قمت بتعيين في MAKEFLAGS في البيئة الخاصة بك.

ال -t الخيار يمس الملفات (علامات عليها حتى الآن دون تغييرها بالفعل) بدلا من تشغيل أوامرهم. يستخدم هذا للتظاهر بأن الأوامر قد تمت ، من أجل خداع استدعاءات المستقبل.

ال -الخامس الخيار يطبع إصدار برنامج make plus بالإضافة إلى حقوق النشر ، وقائمة بالمؤلفين ، وإشعار بعدم وجود ضمان.

ال -w الخيار طباعة رسالة تحتوي على دليل العمل قبل وبعد معالجة أخرى. هذا قد يكون مفيدا لتتبع الأخطاء من أعشاش معقدة من تعاود أوامر.

ال -W ملف يدعي الخيار أن الهدف ملف تم تعديله للتو. عند استخدامها مع-n علمًا ، يوضح لك هذا ما يمكن أن يحدث إذا قمت بتعديل هذا الملف. بدون-n، هو تقريبا نفس تشغيللمس. اتصال. صلة الأمر على الملف المقدم قبل إجراء التشغيل ، إلا أنه يتم تغيير وقت التعديل فقط في خيال الصنع.