बनाउन - लिनक्स आदेश - युनिक्स कमान्ड

बनाउनुहोस् - जीएनयूले कार्यक्रमहरूको समूहहरू कायम राख्न उपयोगिता बनाउछ

सारांश

बनाउनुहोस् [ -f makefile ] [विकल्प] ... लक्ष्य ...

चेतावनी

यो पृष्ठ GNU कागजातको एक निकाय हो यो केवल कहिलेकाहीँ अद्यावधिक गरिएको छ किनभने GNU परियोजनाले nroff प्रयोग गर्दैन। पूर्ण, हालको दस्तावेजको लागि, जानकारी फाइल mak.info लाई हेर्नुहोस् जुन जो Texinfo स्रोत फाइल बनाइएको छ make.texinfo

विवरण

उपयोग उपयोगिता को उद्देश्य स्वचालित रूपमा निर्धारण गर्न को लागी एक ठूलो कार्यक्रम को टुक्राहरु लाई विनियमित गर्न को लागी र आदेशहरु लाई दोहोर्याउन आदेश जारी गर्न को लागी। म्यानुअलले GNU कार्यान्वयनको वर्णन गर्दछ, जुन रिचर्ड स्टल्लिन र रोल्न्डर मैकग्राथद्वारा लेखिएको थियो। हाम्रो उदाहरणहरू C कार्यक्रमहरू देखाउँछन् किनभने तिनीहरू प्रायः सामान्य हुन्छन्, तर तपाईले कुनै पनि प्रोग्रामिङ भाषाको साथ जसलाई कम्पाइलले शेल आदेशसँग चलाउन सकिन्छ प्रयोग गर्न सक्दछ। वास्तवमा, बनाउन प्रोग्रामहरू लाई सीमित छैन। तपाई यसलाई प्रयोग गर्न सक्नुहुनेछ कुनै पनि कार्यको वर्णन गर्नका लागि जहाँ अन्य फाइलहरू स्वचालित रूपमा अन्यबाट स्वचालित रूपमा अपडेट गरिनुपर्दछ जब अन्य परिवर्तन हुन्छ।

प्रयोग गर्नको लागि तयार गर्न, तपाईंले फाइललाई फाइलमा लेख्नु पर्छ जुन तपाईंको कार्यक्रममा फाइलहरू बीचको सम्बन्ध वर्णन गर्दछ, र राज्य प्रत्येक फाइल अद्यावधिक गर्नको लागि आदेशहरू। एउटा कार्यक्रममा, सामान्यतया कार्यान्वयनयोग्य फाइल वस्तु फाइलहरूबाट अद्यावधिक गरिन्छ, जुन मोडमा स्रोत फाइलहरू संकलन गरेर बनाइन्छ।

एक पटक उपयुक्त मेफेल एक पटक हो, प्रत्येक समयमा तपाईँ केहि स्रोत फाईलहरू परिवर्तन गर्नुहुन्छ, यो सरल शेल आदेश:

बनाउनुहोस्

सबै आवश्यक पुनरावृत्ति प्रदर्शन गर्न पर्याप्त। मेनु प्रोग्रामले मेफफाइल डाटा आधार प्रयोग गर्दछ र फाईलहरूको अन्तिम-संशोधन समय प्रयोग गर्न निर्णय गर्दछ जुन फाइलहरू अद्यावधिक गर्न आवश्यक छ। ती प्रत्येक फाईलहरूका लागि, यो डेटाबेसमा रेकर्ड गरिएको आदेशहरू मामिला गर्दछ।

निष्पादित गर्नुहोस् कफाइलमा एक वा बढि लक्ष्य नामहरू अपडेट गर्न, जहाँ नाम सामान्यतया एक प्रोग्राम हो। यदि no -f विकल्प उपस्थित छ भने, Makefiles GNUmakefile , makefile , र Makefile यो क्रम मा हेर्नुहोस्।

साधारणतया तपाईंले आफ्नो मेफाइललाई मेफेफाइल वा मेफेफाइललाई फोन गर्नु पर्छ। (हामी मेकअपफाइल सिफारिस गर्दछौं किनभने यो निर्देशिका निर्देशिकाको सुरूवात नजिकको देखिन्छ, अरु अन्य महत्वपूर्ण फाइलहरू जस्तै README नजिक। नजिकको पहिलो नाम, GNUmakefile , धेरै मेफाइलहरूको लागि सिफारिस गरिएको छैन। यदि तपाइँसँग GNU लाई निर्दिष्ट गरिएको बनाइफाइल छ भने तपाईले यो नाम प्रयोग गर्नुपर्दछ, र अन्य संस्करणहरु द्वारा समझाईने छैन। यदि makefile `- 'हो, मानक आगत पढिएको छ।

अद्यावधिकहरू एक लक्ष्य बनाउनुहोस् यदि यसले पूर्वनिर्धारित फाइलहरूमा निर्भर गर्दछ भने लक्ष्य अन्तिम अन्तिम परिमार्जित भयो, वा यदि लक्ष्य अवस्थित छैन।

विकल्पहरू

-b

-m

यो विकल्पहरू अन्य संस्करणहरूको साथ अनुकूलताका लागि उपेक्षित छन्।

-C dir

मेफेफाइल पढ्न वा अरू केहि गर्न अघि डाइरेक्टरी dir को बदल्नुहोस्। यदि बहु -C विकल्प निर्दिष्ट गरिएको छ भने, प्रत्येक अघि अघिल्लो एकको लागि व्याख्या गरिएको छ: -C / -C आदि -C / etc को बराबर छ। यो सामान्यतया बनाइएको पुनरावर्ती आविष्कारहरूको साथ प्रयोग गरिन्छ।

-d

साधारण प्रक्रियाको बाहेक डिबगिङ जानकारी प्रिन्ट गर्नुहोस्। डिबगिङ जानकारी भन्छ कि कुन फाइलहरू सम्झौताका लागि विचार गरिँदैछ, कुन फाईल पटक तुलना भइरहेको छ र कुन परिणामको साथ, जुन फाइलहरू वास्तवमा पुन: सेट गर्न आवश्यक छ, जुन स्पष्ट नियमहरू विचार गरिन्छ र लागू हुन्छन् --- --- कसरी निर्णय गर्ने बारे सबै रोचक के गर्ने।

-e

कन्फिल्सबाट चरफिल्डबाट मेटिफाइलबाट लिईएका चरहरू दिनुहोस्।

-f फाइल

मेफेफाइलको रूपमा फाईल प्रयोग गर्नुहोस्

-i

रीमेक फाईलहरूमा कार्यान्वयन गरिएका सबै त्रुटिहरू उपेक्षा गर्नुहोस्।

-I dir

समावेश मेफाइलहरूको खोजी गर्न डाइरेक्ट्री dir को निर्दिष्ट गर्दछ। यदि धेरै डाइरेक्टरीहरू निर्दिष्ट गर्न धेरै विकल्पहरू प्रयोग गरिन्छ भने, डाइरेक्टरीहरू निर्दिष्ट आदेशमा खोजी गरिन्छ। अन्य झण्डा बनाउने तर्कको विपरीत, संग दिइएका डाइरेक्टरीहरू झण्डै पछि झण्डा आउन सक्दछ: -आई dir लाई पनि अनुमति दिईएको छ यो सिंक्याक्सले प्रि प्रिसेसेसरको- आई ध्वजसँग अनुकूलताको लागि अनुमति दिएको छ।

-j नौकरिहरु

एकैचोटि चलाउनका लागि कार्यहरू (आदेशहरू) को संख्या निर्दिष्ट गर्दछ। यदि एक भन्दा बढी -j विकल्प हो भने, अन्तिम एक प्रभावकारी छ। यदि -j विकल्प बिना तर्क बिना दिइएको छ भने, मेटिने कार्यहरूको संख्या सीमित गर्नेछ जुन एकै साथ चलाउन सक्छ।

-k

त्रुटि पछि सकेसम्म जारी राख्नुहोस्। जब लक्ष्य विफल भयो, र जो कि उनमा निर्भर छ, रिड्रेड हुन सक्दैन, यिनी लक्ष्यहरु को अन्य निर्भरताहरु लाई सबै मा संसाधित गर्न सकिन्छ।

-l

-l लोड

यदि अन्य कार्यहरू चलिरहेको छ र कम औसत कम्तिमा लोड हुन्छ (कुनै अस्थायी बिन्दु नम्बर) हो भने कुनै नयाँ कार्यहरू (आदेशहरू) सुरू गर्न सकिन्छ। कुनै तर्कको साथ, पछिल्लो लोड सीमा हटाउँदछ।

-n

आदेशहरूलाई क्रियान्वित गर्ने प्रिन्ट गर्नुहोस्, तर तिनीहरूलाई कार्यान्वयन नगर्नुहोस्।

-o फाइल

फाइल फाइल रीमेक नगर्नुहोस् यदि यसको निर्भरता भन्दा पुरानो हो भने, र फाइलमा परिवर्तनको खातामा केहि चीजहरू रीमोक नगर्नुहोस्। मूलतः फाइल धेरै पुरानो रूपमा व्यवहार गरिएको छ र यसको नियमहरूलाई बेवास्ता गरिन्छ।

-p

मेस्फाइलहरू पढ्ने परिणामहरू डेटा आधार (नियमहरू र चर मानहरू) छाप्नुहोस्; त्यसपछि सामान्य रूपमा कार्यान्वयन गर्नुहोस् वा अन्यथा तोकिएको रूपमा। यो -v स्विचद्वारा दिएको संस्करण जानकारी पनि प्रिन्ट गर्दछ (तल हेर्नुहोस्)। कुनै फाईलहरू रिमोक गर्न प्रयास नगरी डाटा बेस प्रिन्ट गर्नको लागि, make -p -f / dev / null प्रयोग गर्नुहोस्।

-q

`` प्रश्न मोड ''। कुनै पनि आदेशहरू चलाउनुहोस् वा कुनै पनि छाप्नुहोस्; केवल निर्दिष्ट लक्ष्य पहिले देखि नै भएको छ भने शून्य हो बाहिर निस्कन स्थिति फर्काउनुहोस्, अन्यथा अन्यथा।

-r

निर्मित अन्तराष्ट्रिय नियमहरूको प्रयोग हटाउनुहोस्। प्रत्यय नियमका लागि प्रत्ययहरूको पूर्वनिर्धारित सूची पनि हटाउनुहोस्।

-s

मौन अपरेशन; आदेशहरू प्रिन्ट गरिसकेपछि आदेशहरू छाप्नुहोस्।

-एस

-k विकल्पको प्रभाव रद्द गर्नुहोस्। यो पुन: आवश्यक पर्दैन, बिना पुनरावर्ती बनाउनका लागि जहाँ-मा माथिल्लो तहबाट विरासतित हुन सक्छ MAKEFLAGS मार्फत बनाउनुहोस् वा यदि तपाइँले तपाइँको वातावरणमा MAKEFLAGS मा सेट गर्नुहुन्छ।

-t

फाइलहरू छुनुहोस् (उनीहरूको आदेशहरू चलाउनको सट्टामा वास्तवमा तिनीहरूलाई परिवर्तन नगरी मिति सम्म चिन्ह लगाउनुहोस्)। यो भविष्यमा चलिरहेको निमन्त्रणा मूर्ख गर्न आज्ञाहरू गरेको थियो भनेर बहकाउन प्रयोग गरिन्छ।

-v

बनाउन प्रोग्राम प्लस एक कपीराइट संस्करण, लेखकहरूको सूची र एक सूचना छ कि कुनै वारंटी छैन।

-w

अन्य प्रकृया अघि र पछि प्रशोधन डाइरेक्टरी सहित सन्देश प्रिन्ट गर्नुहोस्। यो पुनरावृत्त बनाउन आदेशहरूको जटिल जालहरूमा त्रुटिहरू ट्रयाक गर्न उपयोगी हुन सक्छ।

-W फाइल

लक्ष्य गर्नुहोस् कि लक्ष्य फाइल भर्खरै परिमार्जित गरिएको छ। जब -n झण्डा संग प्रयोग गरिन्छ, यसले तपाईंलाई थाहा छ कि यदि तपाई त्यो फाइल परिमार्जन गर्न चाहनुहुन्छ भने। बिना -न , यो चलिरहेको गर्नु अघि दिइएको फाइलमा एक टच आदेश चलिरहेको जस्तो चलिरहेको छ, बाहेक परिमार्जन समय केवल कल्पनाको कल्पनामा परिवर्तन गरिएको छ।