2009-02-21 10 views
6

में सॉफ़्टवेयर पैकेज कैसे बनाएं, हम एक सॉफ्टवेयर पैकेज कैसे बना सकते हैं। ताकि हमारे सॉफ्टवेयर टार गेंद उपयोगकर्ता निकालने के बाद ठेठ चरणों कर सकते हैं:यूनिक्स/लिनक्स

$ gunzip < mycode.tar.gz | tar xvf - 
$ ./configure 
$ make 
$ make install 

उत्तर

7

जीएनयू/ऑटोूल को समझने में कठिनाई का एक विकल्प सीएमके है।

http://www.cmake.org/cmake/help/examples.html

उदा केडीई इसका उपयोग कर रहा है।

1

उपयोग autotools कॉन्फ़िगर स्क्रिप्ट (जो Makefile पिछले दो चरणों के लिए आवश्यक उत्पन्न होगा) बनाने के लिए है, तो साथ एक टारबॉल बनाने इसमें आपके सभी कोड और सामान।

1

rpmbuild आरपीएम संकुल

man page

tutorial

+0

जब मैं लिंक किए गए मैनपेज को पढ़ता हूं, तो मुझे लगता है कि मुझसे पूछा गया सवाल का जवाब नहीं लगता है: कि आप पहली जगह प्लेटफ़ॉर्म लचीली निर्माण कैसे प्रदान करते हैं (यानी कॉन्फ़िगरेशन और मेकफ़ाइल लिखने में सहायता) ... rpmbuild ऐसा लगता है कि आपके पास ऐसी चीज है। – dmckee

+0

शायद मैंने सवाल गलत समझा। http://www.lrde.epita.fr/~adl/autotools.html – Sharique

3

पुराने दिनों में निर्माण करने के लिए एक कमांड है, इस प्रक्रिया को हाथ से किया गया था। प्रत्येक Makefile हाथ से लिखा गया था (फ़ाइल make एक प्रकार की स्क्रिप्ट के रूप में उपयोग करती है)। यह पोर्टेबिलिटी के समय समस्याग्रस्त हो गया, और इसलिए configure लिपि बनाई गई थी। प्रत्येक परियोजना के लिए ./configure स्क्रिप्ट हाथ से भी लिखी गई थी। आखिरकार यह जीएनयू द्वारा उनके autotools पैकेज के साथ स्वचालित किया गया था। इसमें autoconf, automake और कुछ अन्य शामिल हैं। जबकि विकल्प मौजूद हैं, खासकर make के लिए, autotools का व्यापक रूप से उपयोग किया जाता है। ... कम से कम जीएनयू/लिनक्स सिस्टम पर। विकल्पों में पहले से ही उल्लेख किया गया है CMake, Boost.Build, Boost.Jam, SCons, आदि।

1

Autotools।

आपको एक config.ac और Makefile.am स्क्रिप्ट लिखने की आवश्यकता होगी।

कॉन्फ़िगर.एक बहुत आसान है और इसे आपके स्रोत कोड पर 'ऑटोस्कैन' चलाने से अधिकतर स्वचालित रूप से स्वत: उत्पन्न किया जा सकता है। इससे एक 'config.scan' फ़ाइल उत्पन्न होगी जिसे आपको अंतिम config.ac फ़ाइल जेनरेट करने के लिए ट्विक करने की आवश्यकता होगी।

Automake.am फ़ाइल सभी सम्मेलनों से दूर है। =

  • जिले nodist बनाम यह बनाया जाना चाहिए
  • Inst noinst बनाम = यह
  • स्थापित किया जाना चाहिए:

    AUTOMAKE_OPTIONS = foreign subdir-objects 
    AM_CXXFLAGS = -std=c++11 -static-libstdc++ -Wall -Werror \ 
        -Wfatal-errors -I blah 
    AM_LDFLAGS = blah 
    
    bin_PROGRAMS = mybinary 
    mybinary_SOURCES = \ 
        blah.h blah.cc 
    

    सब कुछ एक नामकरण स्कीमा पर आधारित है: आप शायद की तरह कुछ की आवश्यकता होगी

  • आंकड़े = डेटा फ़ाइलों
  • मैंस = आदमी पृष्ठों
  • स्रोत = स्रोत कोड

तो dist_noinst_DATA इमारत के लिए आवश्यक डेटा फ़ाइलों के लिए है लेकिन स्थापित नहीं हैं।

आप उन फ़ाइलों को आप आमतौर पर की तरह कुछ चलाने की आवश्यकता के दोनों है एक बार:

aclocal & & autoheader & & automake --add-लापता & & autoconf

सेटअप करने के लिए

Autotools निर्माण के लिए आवश्यक फ़ाइलें। इसे एक शेल स्क्रिप्ट में रखा जा सकता है और चलने से पहले चलाया जा सकता है ./configure।

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

  • कोई संबंधित समस्या नहीं^_^