जीएनयू को प्रतिबंधित करना to पोसिक्स मेक व्यवहार करें


12

लिनक्स makeमें जीएनयू के अनपेक्षित उपयोग को अस्वीकार करने के लिए क्या कोई ज्ञात तरीका है Linux लिनक्स में संपादन या अन्य मेकफाइल का उपयोग करते समय मेकफाइल में विशिष्ट एक्सटेंशन बनाएं? मेरा मतलब है, GNU को प्रतिबंधित करना to makePOSIX में निर्दिष्ट व्यवहार करना और किसी भी GNU को अस्वीकार करना? विशिष्ट एक्सटेंशन बनाएं?

.POSIXविशेष लक्ष्य "के अनुसार, पर्याप्त नहीं है 4.9 विशेष निर्मित लक्ष्य नाम (gnu.org) "। मैन पेज इसके लिए कमांड लाइन विकल्प का उल्लेख नहीं करता है।

एक और makeउपयोगिता का उपयोग करना एक विकल्प हो सकता है।

- अपडेट 2018-10-19 -

मुझे अभी भी अपने प्रश्न का सीधा उत्तर नहीं मिला है, लेकिन यहां इस मुद्दे के बारे में कम से कम एक दस्तावेज है, एक दस्तावेज जो उस समय मौजूद नहीं था जब मेरे पास यह प्रश्न था:  पोर्टेबल ट्यूटोरियल पर एक ट्यूटोरियल (nullprogram.com)


इस सूची को देखते हुए , यह स्पष्ट नहीं है कि कभी भी एक सख्त पॉसिक्स केवल बना था - इसलिए शायद इसके बजाय इसे शुरू करने के लिए और अधिक समझ में आता है जो makeकि "अन्य के मेकफाइल" के साथ उपयोग करने के लिए था। आपने यह भी कहा है कि GNU का " .POSIXलक्ष्य पर्याप्त नहीं है," आपके अनुसार कुछ दस्तावेज़ों को पढ़ना, लेकिन आपने इसे वास्तविक मामले के साथ प्रदर्शित नहीं किया है, जो थोड़ा सा XY समस्या है
गोल्डिलॉक्स

@goldilocks, X एक प्रतिबंध की जाँच करने के बारे में है जिसे मैं GNU due में माहिर नहीं होने के कारण (संपादन और संशोधित करने के लिए) छड़ी करना चाहूंगा और मुझे कुछ विशिष्टताओं की उपस्थिति के बारे में पता करने में मदद करने के लिए (जब वहाँ है)। आई be जाँच त्रुटि है ‑ प्रवण, यंत्रीकृत नहीं किया जा सकता है, और मैं अपना ध्यान आकर्षित करने और आकर्षित करने के लिए त्रुटि one प्रवण घर / बनाया grep / sed / awk फिल्टर से बचना पसंद करता हूं।
हिबॉ57

मैं या तो जादूगर नहीं हूं, लेकिन क्या इसके बारे में सीधे पूछना बेहतर नहीं होगा? (यदि हां, तो स्टैक ओवरफ्लो इसके लिए बेहतर जगह हो सकती है।)
गोल्डिलॉक्स

आप सही हो सकते हैं। वैसे, मैंने इसे पोस्ट करने के बाद, मैंने पहले हटा दिया फिर इस प्रश्न को हटा दिया (स्थान का अनिश्चित था)। जैसा कि आप सुझाव देते हैं मैं बाद में स्टैक ओवरफ्लो पर फिर से पूछ सकता हूं। आपकी चिंता के लिए धन्यवाद।
हिबू ५

जवाबों:


6

मुझे पूरा यकीन है कि GNU मेक एक्सटेंशन को निष्क्रिय करने का कोई तरीका नहीं है। .POSIXलक्ष्य अनुकूलता को बेहतर बनाता है लेकिन इस तरह के काम करता है, मालिकाना डॉट लक्ष्य, के रूप में नहीं अक्षम संगत एक्सटेंशन करता %लक्ष्यों में पैटर्न, आदि

मुझे POSIX सुविधाओं से चिपके रहने वाले किसी भी कार्यान्वयन का पता नहीं है। उदाहरण के लिए MINIX, Solaris, OpenBSD सभी के अपने विस्तार हैं। आप कम से कम इन चार कार्यान्वयन के साथ अपने कार्यक्रमों को बनाने की कोशिश कर सकते हैं (यह मानते हुए कि आपके कार्यक्रम इन सभी प्लेटफार्मों पर निर्माण करते हैं), जो आपको अभ्यास में एक बहुत अच्छा पोर्टेबिलिटी आश्वासन देगा। makeविजुअल स्टूडियो से उपयोगिता के साथ विंडोज जोड़ें , साथ ही कुछ यूनिक्स शेल टूल्स का एक पोर्ट, यदि आप एक गैर-मुक्त ओएस का उपयोग कर सकते हैं (मुझे लगता है कि वीएस का एक मुफ्त संस्करण है जो पर्याप्त होगा)।


3
डेबियन लिनक्स पर, मैं pmakeअपने मेकफाइल्स की पोर्टेबिलिटी का परीक्षण करने के लिए उपयोग कर रहा हूं। यह दावा करता है कि यह NetBSD से स्वाद बना रहा है। (डेबियन के नए संस्करणों में यह है bmake।)
पलेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.