2009-02-11 16 views
9

मेरी सी ++ निर्माण प्रक्रिया के लिए, मैं Bakefile, एक अच्छी छोटी Makefile जनरेटर, आप XML में अपनी बिल्ड लक्ष्य निर्दिष्ट कर सकते हैं जो उपयोग कर रहा हूँ, और यह इसे से विभिन्न Makefiles या प्रोजेक्ट फ़ाइलें उत्पन्न कर सकते हैं। यह ठीक काम करता है और मैं इसका उपयोग जीएनयू ऑटोोटूल स्क्रिप्ट उत्पन्न करने के लिए करता हूं।मेकफ़ाइल जेनरेटर: प्रीकेक बनाम बेकफाइल?

अब मैं Premake के बारे में सुना है, जो एक इसी तरह की सुविधा है लगता है। आप अपने लक्ष्य Lua में निर्दिष्ट करते हैं, और यह तदनुसार मेकफ़ाइल उत्पन्न करता है।

किसी Bakefile और premake के बीच मतभेदों को पता है? क्या किसी के पास दोनों के साथ अनुभव है? Premake अधिक हालिया और अधिक सक्रिय विकास के साथ लगता है?

XML पार्सर ticpp premake का उपयोग करता है, लेकिन यह premake डाउनलोड करने के लिए इससे पहले कि आप ticpp निर्माण की आवश्यकता है। क्या वे सिर्फ विभिन्न प्रणालियों के लिए मेकफ़ाइल प्री-जेनरेट नहीं कर सकते हैं, इसलिए आपको पहले प्रीकेक को डाउनलोड और इंस्टॉल करने की आवश्यकता नहीं है?

नोट: मुझे पता है कि सबसे अच्छा निर्माण उपकरण है के बारे में विभिन्न अतः धागे देखते हैं, और आमतौर पर जवाब CMake, SCons या Jam है। हालांकि, मुझे कुछ ऐसी चीज है जो मेरे उपयोगकर्ताओं को अपनी परियोजना बनाने से पहले डाउनलोड नहीं करनी पड़ेगी।

+0

> हालांकि, मुझे ऐसी किसी चीज़ में रूचि है जो मेरे उपयोगकर्ताओं को मेरी परियोजना बनाने से पहले डाउनलोड नहीं करना पड़ेगा। स्कॉन्स और केमेक (जाम के बारे में निश्चित नहीं) मेकफ़ाइल भी उत्पन्न करते हैं। –

+0

लेकिन, क्या वे पूरे autotools गड़बड़ उत्पन्न करते हैं? बस मेकफ़ाइल उत्पन्न करना पर्याप्त नहीं है। साथ ही, मुझे लगता है कि सीएमके और दोस्तों के साथ आप केवल एक सिस्टम के लिए मेकफ़ाइल उत्पन्न कर सकते हैं यदि आप इस तरह के सिस्टम पर हैं। – Frank

+0

waf http://code.google.com/p/waf/ इतना छोटा होने के लिए डिज़ाइन किया गया है कि आप इसे अपने पिक्जेक्ट में जोड़ दें ताकि अलग डाउनलोड न हो। – Mark

उत्तर

8

हाँ, premake आप एक Makefile (या दृश्य स्टूडियो समाधान, या ...) है जिसे आप वितरित कर सकते हैं, अगर आप चाहते हैं उत्पन्न करने के लिए अनुमति नहीं है। Premake में अपने स्रोत संकुल में पूर्व-जेनरेट किए गए मेकफ़ाइल शामिल हैं।

डाउनलोड कर रहा है और लक्षित मशीन पर premake चल अनुमति देता है makefile अनुकूलित किया जा करने के लिए, या तो सिस्टम के स्वचालित विश्लेषण के द्वारा, या मैन्युअल कमांड लाइन झंडे के माध्यम से। कुछ परियोजनाओं के लिए जो एक सार्थक व्यापार-बंद है, लेकिन इसकी आवश्यकता नहीं है।

9

नहीं वास्तव में एक जवाब है, लेकिन मैं भी दिल premake4 सलाह देते हैं, यह शानदार है।

+1

खुद को सीमेक के दर्द के माध्यम से रखने वाला था, लेकिन फिर मैंने premake4 देखा और मेरा जीवन फिर से अच्छा था। – Skurmedel

1

दोनों premake 4 और new version of Bakefile इस्तेमाल करने के बाद, ऐसा लगता है कि वे विभिन्न उपयोग मामलों लक्ष्य।

  • बेकफाइल आपकी इच्छित चीज़ों के प्रति उन्मुख है: स्थानीय रूप से बिल्ड फाइलें उत्पन्न करें और फिर अपने प्रोजेक्ट को उनके साथ वितरित करें। मुझे इस उपकरण के साथ बहुत अच्छा अनुभव रहा है।
  • premake CMake की तरह अधिक है: स्थानीय makefile पीढ़ी। कभी-कभी, आपके पास बहुत सारी फैंसी कॉन्फ़िगरियां होती हैं जिन्हें लक्ष्य मशीन पर चलाने की आवश्यकता होती है। बेकफाइल आपको प्लगइन का उपयोग करके इसे पूरा करने देता है, लेकिन यह गन्दा हो सकता है। हालांकि, अगर आप फ़ाइलों पूर्व उत्पन्न कर सकते हैं।

अपने उपयोग के लिए, मैं Bakefile सलाह देते हैं। लगता है जैसे आपको कुछ भी कल्पना की जरूरत नहीं है।

संबंधित मुद्दे