अंग्रेज़ीफ्रेंचस्पेनिश

Ad


ऑनवर्क्स फ़ेविकॉन

मेकप्प - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में मेकप चलाएं

यह कमांड मेकप है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


मेकप - मेक के लिए संगत लेकिन बेहतर प्रतिस्थापन

SYNOPSIS


मेकप्प [ -ई ] [ -सी दीर ] [ -एफ makefile] [ -एफ makefile_or_dir ]
[ -जे n] [ -के ] [ -एम तरीका ] [ --noremake-makefiles ]
[ --नोवार्न ] [ -क्यू ] [ -आर दीर] [ --पारंपरिक-पुनरावर्ती-बनाएँ ]
[ -v ] [ --संस्करण ] [ वीएआर = मान ...] [ लक्ष्य ...]

एमपीपी [-विकल्प] [ वीएआर = मान ...] [ लक्ष्य ...]

वर्णन


मेकप्प, एक बिल्ड प्रोग्राम है जिसमें कई विशेषताएं हैं जो विश्वसनीय बिल्ड और की अनुमति देती हैं
सरल बिल्ड फ़ाइलें, GNU मेक के लिए एक ड्रॉप-इन प्रतिस्थापन है। यह लगभग सभी का समर्थन करता है
सिंटैक्स जिसे GNU समर्थन करता है, और उपयोगिताओं द्वारा निर्मित मेकफ़ाइल्स के साथ उपयोग किया जा सकता है
ऑटोमेक के रूप में। इसे मेकप (या) कहा जाता है बनाओ++) क्योंकि इसे विशेष सहयोग से डिज़ाइन किया गया था
C++ के लिए, जिसे बाद में स्विग या एम्बेडेड SQL जैसी अन्य भाषाओं में विस्तारित किया गया है। भी
से इसका संबंध है बनाना C++ के C से संबंध के अनुरूप है: यह लगभग 100% है
बैकवर्ड संगत लेकिन कई नई सुविधाएँ और लिखने के बेहतर तरीके जोड़ता है
मेकफ़ाइल्स

मेकप्प एक व्यापक परीक्षण-सूट पास करता है, और कई बड़ी परियोजनाओं में इसका उपयोग किया जाता है। यदि आपके पास है
नवीनतम सीवीएस संस्करण के साथ कोई भी समस्या हो, तो हम उसे शीघ्रता से ठीक करने का प्रयास करेंगे। मेकप्प
5.8 से पर्ल के किसी भी संस्करण के साथ चलता है।

निम्नलिखित मैनुअल पृष्ठों में मेकप का उपयोग करने के तरीके के बारे में अधिक जानकारी है:

ट्यूटोरियल
मेकफ़ाइल कैसे लिखें. यह अधिकतर उन लोगों के लिए है जिनके पास बहुत कम या बिल्कुल नहीं है
मेक के किसी भी कार्यान्वयन का उपयोग करने का अनुभव।

संकलन ट्यूटोरियल
यूनिक्स संकलन आदेश क्या करते हैं.

रिलीज नोट्स
प्रत्येक रिलीज़ के साथ क्या बदल गया।

असंगतियां
जीएनयू मेक और मेकप के बीच क्या अलग ढंग से काम करता है।

स्पीड अप
मेकप को अधिक तेजी से बनाने के लिए विभिन्न युक्तियाँ।

पर्ल प्रदर्शन
पर्ल प्रोग्रामिंग (आपके मेकफ़ाइल्स और अन्य जगहों पर) बनाने के लिए विभिन्न युक्तियाँ अपनाएँ
तेजी से कर पाते हैं|

रसोई की किताब
"मैं कैसे करूँ...?" के त्वरित उत्तर या "इसका सबसे अच्छा तरीका क्या है...?"

अक्सर पूछे जाने वाले प्रश्न लोगों के प्रश्नों के त्वरित उत्तर।

एल्गोरिथम बनाएं
मेकप का बिल्ड एल्गोरिदम पारंपरिक मेक से बुनियादी तौर पर किस प्रकार भिन्न है।

कैश बनाएँ
बिल्ड कैश एक निर्देशिका है जो पूर्व बिल्ड के परिणामों को संग्रहीत करती है
एक ही निर्देशिका में, या एक अलग निर्देशिका में एक अलग बिल्ड में फिर से आवश्यक है।

जाँच के तरीके बनाएँ
मेकप कैसे तय करता है कि कब निर्माण करना है।

बिल्टिन कमांड
शक्तिशाली, कुशल कमांड हर जगह उपलब्ध हैं जहां मेकप 2.0 या नया है।

अंतर्निहित नियम
बहुत सरल कार्यक्रमों के लिए, आपको मेकफ़ाइल की बिल्कुल भी आवश्यकता नहीं हो सकती है! ये बिल्टइन हैं
नियम जिनके बारे में मेकप को पता है।

अनुकूलता
पर्ल मेकप्प कहां और किस संस्करण के साथ काम करता है।

विस्तार
आप अपना खुद का पर्ल कोड लिखकर मेकप में फ़ंक्शन कैसे जोड़ सकते हैं।

कार्य
पाठ हेरफेर और विभिन्न अन्य उद्देश्यों के लिए कार्य।

डेटा संग्रह स्थान
रिपॉजिटरी एक ऐसी तकनीक है जो वैरिएंट निर्माण और केंद्रीय रखने दोनों को सरल बनाती है
स्रोतों का सेट.

नियम
फ़ाइलें बनाने के लिए नियम निर्दिष्ट करना।

सैंडबॉक्स
बिल्ड को विभाजित करने के लिए सैंडबॉक्स का उपयोग करना।

स्कैनिंग
मेकप फ़ाइलों को शामिल करने जैसी निर्भरताओं को कैसे स्कैन करता है।

हस्ताक्षर
फ़ाइलें बदल जाने पर मेकप कैसे निर्णय लेता है।

वक्तव्य
मेकप को नियंत्रित करने के लिए अतिरिक्त निर्देश।

चर
नियमों को सरल बनाने के लिए वेरिएबल का उपयोग करना।

मेकप, एमपीपी
मुख्य उपयोगिता का कमांड लाइन सिंटैक्स।

मेकप्पक्लीन, एमपीपीसी
मेकप द्वारा उत्पन्न फ़ाइलों को हटाने के लिए एक कुशल स्टैंड-अलोन क्लीनअप स्क्रिप्ट।

मेकपग्राफ, एमपीपीजी
निर्भरताओं और कारणों का ग्राफिक रूप से विश्लेषण करने के लिए एक स्टैंड-अलोन उपयोगिता
पुनर्निर्माण।

मेकपिनफो, एमपीआई
बिल्ड जानकारी को आसानी से डंप करने के लिए एक स्टैंड-अलोन उपयोगिता मेकप प्रत्येक के बारे में याद रखता है
फ़ाइल.

मेकप्लॉग, एमपीपीएल
निर्भरता और पुनर्निर्माण के कारणों का विश्लेषण करने के लिए एक स्टैंडअलोन उपयोगिता।

मेकप्रीप्ले, एमपीपीआर
मेकप द्वारा की गई चीजों को दोहराने के लिए एक स्टैंड-अलोन उपयोगिता, लेकिन बहुत तेज।

सूची
मेकप में सभी कीवर्ड, फ़ंक्शन और ऑपरेटर।

विशेषताएं
फ़ाइलों को शामिल करने के लिए स्वचालित स्कैनिंग
फ़ाइलों को शामिल करने के लिए Makepp स्वचालित रूप से स्कैन करता है। इससे जैसे उपकरणों की आवश्यकता समाप्त हो जाती है
निर्भर करना. मेकप्प का स्कैनर तब भी काम करता है, जब शामिल फ़ाइलें अभी तक मौजूद नहीं हैं
बनाना होगा. (यह सत्य है, इससे कोई फर्क नहीं पड़ता कि वे शामिल पथ पर कहां से आते हैं,
उन प्रोग्रामों के विपरीत जो gcc के "-MM -MG" विकल्प पर निर्भर होते हैं।) Makepp के पास एक लचीली प्रणाली है
ऐसा करने के लिए जो बिल्ड कमांड को स्कैन करने पर आधारित है; आप इसे इसके लिए अनुकूलित कर सकते हैं
अन्य भाषाएँ या पर्ल सबरूटीन लिखकर कमांड बनाएँ।

पदानुक्रमित निर्माण के लिए बेहतर प्रणाली
Makepp के पास एकाधिक निर्देशिकाओं वाले बिल्ड को संभालने के लिए एक बेहतर प्रणाली है
एकाधिक मेकफ़ाइलें। पारंपरिक तकनीक स्वयं को आह्वान करने की है
प्रत्येक निर्देशिका में पुनरावर्ती रूप से। यह इस बात पर निर्भर करता है कि परस्पर निर्भरता कितनी जटिल है
हैं, कभी-कभी कई पुनरावर्ती पासों की आवश्यकता होती है। इससे मेकफ़ाइलें बहुत अच्छी हो जाती हैं
यदि वे सही निर्माण की गारंटी देते हैं तो यह जटिल है। असली समस्या यह है कि जब तक
निर्भरताएँ तुच्छ हैं (उदाहरण के लिए, केवल एक लाइब्रेरी फ़ाइल), ऐसा करना लगभग असंभव है
लक्ष्यों के संदर्भ में एक मेकफ़ाइल में लक्ष्यों की निर्भरता को सटीक रूप से व्यक्त करें
अन्य मेकफ़ाइल. यूनिक्स मेक इतना स्मार्ट नहीं है कि एक में लक्ष्य का एहसास कर सके
मेकफ़ाइल उस फ़ाइल पर निर्भर करती है जो निचले स्तर के मेकफ़ाइल में एक लक्ष्य है; यह नहीं ले सकता
जब यह लक्ष्य बनाने का प्रयास कर रहा हो तो निचले स्तर के मेकफ़ाइल से कमांड बनाएं
ऊपरी-स्तरीय मेकफ़ाइल। तो सामान्य समाधान वह सब कुछ बनाना है जो हो सकता है
निचले स्तर के मेकफाइल्स के साथ बनाया गया, उम्मीद है कि यह सब कुछ बनाने के लिए पर्याप्त है
यह ऊपरी-स्तरीय मेकफ़ाइल के लिए आवश्यक है।

मेकप सभी आवश्यक मेकफाइल्स को एक ही बार में लोड करता है, इसलिए इससे निपटने में कोई समस्या नहीं है
ऐसी स्थितियाँ जहां एक मेकफ़ाइल से एक फ़ाइल किसी अन्य द्वारा निर्मित फ़ाइल पर निर्भर करती है
मेकफ़ाइल. Makepp सीडी स्वचालित रूप से पहले मेकफ़ाइल वाली निर्देशिका में पहुंच जाती है
मेकफ़ाइल से एक कमांड निष्पादित करना, ताकि प्रत्येक मेकफ़ाइल को स्वतंत्र रूप से लिखा जा सके
शीर्ष-स्तरीय बिल्ड निर्देशिका की जानकारी के बिना। लेकिन अगर आपकी जड़ तक पहुंच है
बिल्ड ट्री महत्वपूर्ण है (उदाहरण के लिए क्योंकि यहीं पर आपकी सम्मिलित निर्देशिका रहती है),
आप उस निर्देशिका में मेकफ़ाइल को विशेष रूप से नाम दे सकते हैं। फिर मेकप्प आपको रास्ता देता है
एक वेरिएबल में उस निर्देशिका के लिए।

मेकप यह भी पता लगा सकता है कि पूरे प्रोजेक्ट के लिए सभी मेकफ़ाइलें कहां हैं
बताया जा रहा है, यदि प्रत्येक मेकफ़ाइल उन फ़ाइलों के समान निर्देशिका में है जो उसे चाहिए
उत्पादन करना। यह मेकफ़ाइल्स को भी काफी हद तक सरल बना सकता है।

एकाधिक निर्देशिकाओं के साथ निर्माण के बारे में अधिक जानकारी के लिए, "एकाधिक के लिए युक्तियाँ" देखें
निर्देशिकाएँ" makepp_cookbook में।

विश्वसनीय वाइल्डकार्ड
मेकफ़ाइल्स वाइल्डकार्ड का विश्वसनीय रूप से उपयोग कर सकते हैं, क्योंकि वाइल्ड कार्ड दोनों फ़ाइलों से मेल खाते हैं
अस्तित्व, or फ़ाइलें जो अभी तक मौजूद नहीं हैं लेकिन मेकप जानता है कि कैसे बनाना है। तो एक के लिए भी
दर्जनों मॉड्यूल के साथ प्रोग्राम, आपकी संपूर्ण मेकफ़ाइल बस कुछ इस तरह पढ़ सकती है
इस:

सीएक्सएक्स = जी++
CXXFLAGS = -जी

%.ओ:%.सी
$(CXX) $(CXXFLAGS) -c $(इनपुट) -o $(आउटपुट)

मेरा_प्रोग्राम: *.ओ
$(CXX) $(इनपुट) -o $(आउटपुट)

और यह तब भी काम करेगा जब तक कोई भी ".o" फ़ाइल नहीं बनाई गई हो।

विश्वसनीय बिल्ड: बिल्ड कमांड को याद रखता है
मेकप्प बिल्ड कमांड का ट्रैक रखता है, ताकि यदि संकलन विकल्प बदलते हैं, तो फ़ाइलें
स्वचालित रूप से पुनः निर्मित हो जाते हैं। सही निर्माण की गारंटी के लिए यह महत्वपूर्ण है। (यह विचार
बॉब साइडबोथेम की "विपक्ष" उपयोगिता से लिया गया था, जिसका वर्णन पर्ल में किया गया था
जर्नल 1998 में और सीपीएएन से उपलब्ध है।)

यह स्पष्ट करने के लिए कि यह महत्वपूर्ण क्यों है, निम्नलिखित संरचना परिभाषा पर विचार करें:

कक्षा एबीसी {
इंट x;
#ifndef विशेष_विकल्प
int y;
#endif
इंट जेड;
};

अब मान लीजिए कि आप "SPECIAL_OPTION" विकल्प को जोड़कर चालू करने का निर्णय लेते हैं
कमांड लाइन पर "-DSPECIAL_OPTION"। हर चीज़ का पुनर्संकलन आवश्यक है, लेकिन
एक पारंपरिक यूनिक्स मेक इसका पता नहीं लगाएगा, और केवल स्रोत फ़ाइलों को पुन: संकलित करेगा
जो वास्तव में बदल गए हैं. परिणामस्वरूप, आपके कुछ मॉड्यूल संकलित किए जाएंगे
-DSPECIAL_OPTION, और अन्य नहीं करेंगे। बहुत निराशाजनक डिबगिंग सत्र के बाद, आप
पता चलेगा कि जो कुछ करने की ज़रूरत है वह सब कुछ पुनर्निर्माण करना है। इसके बाद आप करेंगे
श्राप बनाओ और उम्मीद है कि मेकप की तरह इसके बेहतर कार्यान्वयन पर स्विच करें। पर
कम से कम, मैंने तो यही किया।

एक अन्य उदाहरण के रूप में, मान लीजिए कि आप एक ऐसे प्रोजेक्ट पर काम कर रहे हैं जो काफी अच्छा है
डीबग किया गया है, इसलिए इसे आमतौर पर "-O2" के साथ संकलित किया जाता है। अब आप एक बग में फंस गए हैं जिसकी आपको आवश्यकता है
डिबगर में देखने के लिए. अनुकूलन के साथ संकलित कोड की जांच करना कठिन है
डिबगर में, इसलिए आप अपने कोड को पुनः संकलित करना चाहते हैं ताकि आप इसे देख सकें। अगर
आपका मेकफ़ाइल कंपाइलर विकल्पों को सामान्य वेरिएबल्स में संग्रहीत करने के लिए सेट किया गया है, आप ऐसा कर सकते हैं
बस यह करें:

मेकप्प CFLAGS=-g CXXFLAGS=-g

और मेकप को पता चल जाएगा कि सभी मॉड्यूल के लिए कमांड लाइन बदल गई है। फिर कब
आपको अपना बग मिल गया है, बस टाइप करें

मेकप्प

और इसे अनुकूलन के साथ पुनः संकलित किया जाएगा। जब आपको "मेक क्लीन" टाइप करने की आवश्यकता नहीं है
आप बिल्ड विकल्प बदलते हैं।

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

विश्वसनीय निर्माण: हस्ताक्षर का सटीक मिलान
डिफ़ॉल्ट रूप से, मेकप केवल यह सुनिश्चित नहीं करता है कि सभी लक्ष्य सभी की तुलना में नए हैं
निर्भरताएँ; यदि आप किसी निर्भरता को किसी पुरानी फ़ाइल से बदलते हैं, तो मेकप जानता है कि उसके पास है
लक्ष्य को फिर से बनाने के लिए, केवल इसलिए क्योंकि इनपुट फ़ाइल बदल गई है। यह दूसरा है
सही निर्माण की गारंटी के लिए महत्वपूर्ण सुविधा जो "विपक्ष" उपयोगिता से ली गई थी।

स्मार्ट हस्ताक्षर गणना
स्रोत फ़ाइलों में कुछ संशोधनों के लिए वास्तव में पुनर्निर्माण की आवश्यकता नहीं होती है। उदाहरण के लिए, यदि
आप बस एक टिप्पणी पंक्ति बदलते हैं, या यदि आप कुछ कोड पुनः इंडेंट करते हैं, तो कोई विशेष बात नहीं है
संकलन को बाध्य करने का कारण. C/C++ संकलन के लिए, makepp यह निर्धारित करता है कि a
फ़ाइल की सामग्री के क्रिप्टोग्राफ़िक चेकसम की गणना करके फ़ाइल को पुनः संकलित करने की आवश्यकता है,
फ़ाइल समय को देखने के बजाय टिप्पणियों और रिक्त स्थान को अनदेखा करना।

यह विशेष रूप से उपयोगी है यदि आपने उन फ़ाइलों को शामिल किया है जो फ़ाइलों द्वारा उत्पन्न होती हैं
परिवर्तन, और फिर भी जनरेट की गई फ़ाइलें स्वयं शायद ही कभी बदलती हैं। मान लीजिए आप
आपके प्रोग्राम में एक जटिल yacc व्याकरण है, इस प्रकार के बिल्ड नियम के साथ:

y.tab.c y.tab.h: पार्सर.y
yacc -d parser.y

आमतौर पर, हर बार जब आप "parser.y" में एक छोटा सा भी बदलाव करते हैं, तो हर फ़ाइल
"y.tab.h" पर निर्भर करता है, इसे फिर से बनाया जाना चाहिए क्योंकि "y.tab.h" का फ़ाइल समय बदल गया है।
हालाँकि, "parser.y" में अधिकांश परिवर्तन वास्तव में "y.tab.h" की सामग्री को नहीं बदलेंगे।
(संभवतः एक टिप्पणी को छोड़कर), इसलिए वह सब पुनर्संकलन अनावश्यक है।

डेटा संग्रह स्थान
मेकप स्वचालित रूप से एक अलग निर्देशिका ट्री (द) से फ़ाइलों को शामिल कर सकता है
आवश्यकतानुसार मौजूदा बिल्ड ट्री में "रिपोजिटरी") डालें। (यह विचार भी यहीं से लिया गया है
"विपक्ष" कार्यक्रम।) इसके कई दिलचस्प उपयोग हैं:

वेरिएंट बनाता है
मान लीजिए कि आप अपने प्रोग्राम को ऑप्टिमाइज़ेशन ऑन और डिबगिंग के साथ संकलित कर रहे हैं
बंद। अब एक बग सामने आता है और आपको डिबगिंग के साथ सब कुछ फिर से संकलित करना होगा
सक्षम. हालाँकि, एक बार जब आपको बग मिल जाए, तो आप डिबगिंग बंद कर देंगे
अनुकूलन वापस चालू करें, और अधिकांश मेक प्रोग्रामों के साथ आपको सभी को पुन: संकलित करना होगा
स्रोत फिर से, वे भी जो नहीं बदले। प्रक्रिया दिखेगी
इस तरह:

% मेकप्प CFLAGS=-O2 # सब कुछ संकलित करें।
#उफ़, यहाँ बग खोजा गया
% मेकप्प CFLAGS=-g # सब कुछ फिर से संकलित करता है।
जीडीबी माय_प्रोग्राम
#...बग ढूंढें
% मेकप्प CFLAGS=-O2 # हर चीज़ को तीसरी बार पुन: संकलित करता है।

मेकप के साथ, आप बस एक खाली निर्देशिका में सीडी कर सकते हैं, और अपना मूल निर्दिष्ट कर सकते हैं
एक भंडार के रूप में निर्देशिका। यह रिक्त स्थान में नई ऑब्जेक्ट फ़ाइलें बनाएगा
निर्देशिका, अपनी पुरानी ऑब्जेक्ट फ़ाइलों को बरकरार रखते हुए। अब आप बग ढूंढ सकते हैं
डिबग के साथ संकलित निर्देशिका में, इसे अपने मूल स्रोतों में ठीक करें, और फिर जाएं
अपनी मूल निर्देशिका पर वापस जाएँ। अब केवल कुछ ही फ़ाइलें हैं जिन्हें आपने वास्तव में बदला है
पुनः संकलित करने की आवश्यकता है।

पूरी प्रक्रिया इस प्रकार दिखेगी:

% मेकप्प CFLAGS=-O2 # सब कुछ संकलित करें।
#उफ़, यहाँ बग खोजा गया
% एमकेडीआईआर डिबगिंग
% सीडी डिबगिंग
% makepp -R .. CFLAGS=-g # डिबगिंग सक्षम के साथ संकलित करें, लेकिन
# ऑब्जेक्ट को डिबगिंग उपदिर में रखें।
% gdb my_program
#...बग ढूंढें
% सीडी .. # मूल निर्देशिका पर वापस जाएँ।
% मेकप्प CFLAGS=-O2 # केवल उन फ़ाइलों को पुनः संकलित करता है
#कि तुम बदल गए.

यदि कई मॉड्यूल हों तो यह समय की जबरदस्त बचत हो सकती है।

सामान्य स्रोतों के साथ विकास दल
मान लीजिए कि आपके पास डेवलपर्स की एक टीम है जो स्रोतों के मानक सेट पर काम कर रही है। प्रत्येक
डेवलपर स्वतंत्र परिवर्तन कर रहा है, लेकिन उसे इसकी प्रति रखने की आवश्यकता नहीं है
संपूर्ण स्रोत वृक्ष. मेकप के रिपॉजिटरी का उपयोग करके, आप प्रत्येक डेवलपर के पास हो सकते हैं
केवल उन फ़ाइलों की प्रतिलिपियाँ जिन्हें उसने बदला है। Makepp स्वचालित रूप से और होगा
अन्य फ़ाइलों के लिए अस्थायी रूप से प्रतीकात्मक लिंक बनाएं जिन्हें बदला नहीं गया है
रिपॉजिटरी में संबंधित फ़ाइलों के लिए। यह वस्तु के लिए भी ऐसा कर सकता है
फ़ाइलें जो रिपॉजिटरी में मौजूद हैं और उन्हें पुन: संकलित करने की आवश्यकता नहीं है
डेवलपर की व्यक्तिगत निर्देशिका।

सही नियमों की गारंटी दें
यदि आपके नियम कुछ ऐसा करते हैं जिसके बारे में आपने मेकप को नहीं बताया है, तो रिपॉजिटरी
तंत्र को उन चीजों को लाने का पता नहीं चलेगा। तो कुछ ऐसा जो सामान्य रूप से बनता है
लेकिन एक रिपॉजिटरी से विफल होने पर आपको अपने नियमों को ठीक करने के लिए कहा जाता है।

आवश्यक ".o" फ़ाइलों का स्वचालित अनुमान
मेकप अक्सर यह अनुमान लगा सकता है कि वास्तव में कौन सी वस्तुएँ बिना अस्तित्व के आवश्यक हैं
स्पष्ट रूप से बताया गया. यदि आप इस सुविधा का उपयोग करते हैं, तो यदि आपकी कोई स्रोत फ़ाइल शामिल है
"xx.h", और "xx.o" नाम की एक फ़ाइल है जिसे makepp बनाना जानता है, फिर makepp
लिंक कमांड लाइन में "xx.o" जोड़ता है। मैं अब कई में गैर-साझा पुस्तकालयों का उपयोग नहीं करता
वे स्थान जहां मैं पहले जाता था, क्योंकि मेकप स्वचालित रूप से मेरे लिए आवश्यक मॉड्यूल चुन सकता है।

निर्देशिकाओं के लिए उपनामों का सही प्रबंधन
मेकप किसी निर्देशिका के सॉफ्ट लिंक या अलग-अलग रिश्तेदार द्वारा भ्रमित नहीं होगा
फ़ाइल नाम जो एक ही फ़ाइल को संदर्भित करते हैं। किसी फ़ाइल के सभी निर्देशिका पथ पहचाने जाते हैं,
समेत foo, ./फू, ../src/foo, /auto_mnt/somedisk/bob/src/foo, तथा
/उपयोगकर्ता/बॉब/src/foo.

विशेष वर्णों वाले फ़ाइल नाम
Makepp कोलन या रिक्त स्थान या अन्य विशेष वर्णों वाले फ़ाइल नामों का समर्थन कर सकता है
पारंपरिक बनावट के लिए परेशानी का कारण। बस फ़ाइल नाम को उद्धरण चिह्नों से घेरें। (देखना
विवरण के लिए makepp_rules में "विशेष वर्ण"।)

विस्तार योग्य पाठ्य प्रतिस्थापन कार्य
मेकप मेकफ़ाइल में पाठ्य प्रतिस्थापन के लिए मनमाने ढंग से पर्ल सबरूटीन्स का उपयोग कर सकता है।
यदि आप पर्ल को जानते हैं, तो आप मेकप के बिल्टिन के सेट से बिल्कुल भी बाध्य नहीं हैं
पाठ्य हेरफेर कार्य।

आप अपनी मेकफ़ाइल में पर्ल कोड भी आसानी से लिख सकते हैं। आप मेक में हेरफेर कर सकते हैं
संपूर्ण पर्ल भाषा की पूरी शक्ति के साथ चर। इसके लिए makepp_variables देखें
विवरण।

निर्माण निर्णयों की लॉगिंग
डिफ़ॉल्ट रूप से, makepp एक लॉग-फ़ाइल को makepplog, mppl के साथ देखने योग्य बनाता है जिसमें a
प्रत्येक फ़ाइल का विवरण जिसे उसने बनाने का प्रयास किया, उसे बनाने के लिए किस नियम का उपयोग किया गया, क्या
यह इस पर निर्भर करता है, और (यदि फ़ाइल का पुनर्निर्माण किया गया था) क्यों। के लिए यह बेहद उपयोगी हो सकता है
मेकफ़ाइल को डिबग करना--यदि आप सोच रहे हैं कि मेकप ने फ़ाइल को फिर से बनाने का निर्णय क्यों लिया, या क्यों
ऐसा नहीं हुआ, आप बस लॉग फ़ाइल में देख सकते हैं जहां यह निर्णयों की व्याख्या करता है।

समानांतर निर्माणों के लिए बेहतर समर्थन
मेकप समानांतर संकलन का समर्थन करता है, लेकिन (अन्य मेक कार्यान्वयन के विपरीत)।
एक साथ चल रही अलग-अलग प्रक्रियाओं के आउटपुट को मिश्रित नहीं करेगा।

गूढ़ चरों के पर्यायवाची
Makepp क्रिप्टिक मेक वेरिएबल $@, $^, और के लिए याद रखने में आसान समानार्थक शब्द का समर्थन करता है
$<. विवरण के लिए makepp_variables देखें।

onworks.net सेवाओं का उपयोग करके ऑनलाइन मेकप का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

  • 1
    एस्ट्रोऑर्जप्लेयर
    एस्ट्रोऑर्जप्लेयर
    एस्ट्रोर्ज़ प्लेयर एक मुफ़्त मीडिया प्लेयर है
    सॉफ्टवेयर, भाग WMP और VLC पर आधारित है।
    खिलाड़ी न्यूनतम शैली में है, साथ में
    दस से अधिक विषय रंग, और भी कर सकते हैं
    ख ...
    एस्ट्रोऑर्जप्लेयर डाउनलोड करें
  • 2
    चलचित्र
    चलचित्र
    कोडी मूविस्टार+ टीवी एक्सबीएमसी के लिए एक ऐडऑन है/
    कोडी कुए परमिट डिस्पोनर डे अन
    डिकोडिफ़ाडोर डे लॉस सर्विसिस आईपीटीवी डे
    Movistar एकीकरण एन यूनो डी लॉस
    मीडियासेंटर मा...
    मोविस्टार्टव डाउनलोड करें
  • 3
    कोड :: ब्लाकों
    कोड :: ब्लाकों
    कोड :: ब्लॉक एक मुक्त, खुला-स्रोत है,
    क्रॉस-प्लेटफ़ॉर्म सी, सी ++ और फोरट्रान आईडीई
    सबसे अधिक मांग वाली जरूरतों को पूरा करने के लिए बनाया गया है
    इसके उपयोगकर्ताओं की। यह बहुत होने के लिए डिज़ाइन किया गया है
    विस्तार...
    डाउनलोड कोड :: ब्लॉक
  • 4
    बीच में
    बीच में
    बीच में या उन्नत Minecraft इंटरफ़ेस
    और डेटा/संरचना ट्रैकिंग एक उपकरण है
    एक Minecraft का अवलोकन प्रदर्शित करें
    दुनिया, वास्तव में इसे बनाए बिना। यह
    कर सकते हैं ...
    बीच में डाउनलोड करें
  • 5
    एमएसवाईएस2
    एमएसवाईएस2
    MSYS2 उपकरणों का एक संग्रह है और
    आपको प्रदान करने वाले पुस्तकालय
    निर्माण के लिए उपयोग में आसान वातावरण,
    देशी विंडोज को स्थापित करना और चलाना
    सॉफ़्टवेयर। यह...
    एमएसवाईएस2 डाउनलोड करें
  • 6
    libjpeg-टर्बो
    libjpeg-टर्बो
    libjpeg-टर्बो एक JPEG छवि कोडेक है
    जो SIMD निर्देशों (MMX, SSE2,) का उपयोग करता है
    बेसलाइन में तेजी लाने के लिए NEON, AltiVec)।
    JPEG संपीड़न और विसंपीड़न चालू
    x86, x8...
    लिबजपेग-टर्बो डाउनलोड करें
  • अधिक "

लिनक्स कमांड

Ad