2010-09-23 13 views
21

मैंने दोनों अलग-अलग चीजों में देखा है जो मैंने कॉन्फ़िगर किया है। मुझे क्या अंतर है? क्या यह केवल एक का उपयोग करने योग्य है? या इससे कोई फर्क नहीं पड़ता कि किस का उपयोग करना है?config.ac और config.in, और Makefile.am और Makefile.in के बीच कोई अंतर?

उत्तर

45

configure.ac और configure.in मास्टर Autoconf स्रोत फ़ाइल है, जो autoconf द्वारा संसाधित configure खोल स्क्रिप्ट उत्पन्न करने के लिए के लिए दो संभावित नाम हैं। configure.ac नए पैकेज के लिए पसंदीदा है, configure.in एक पुराना नाम है जो अभी भी काम करता है। (.in प्रत्यय अब केवल वे फ़ाइलें जो config.status द्वारा कार्रवाई की जाएगी लिए इस्तेमाल किया जा की सिफारिश की है, जो configure चलाने का परिणाम है।)

Makefile.am एक Automake स्रोत फ़ाइल है। ऑटोमैक इसे संसाधित करता है और Makefile.in उत्पन्न करता है, जिसे अंतिम मेकफ़ाइल उत्पन्न करने के लिए config.status द्वारा आगे संसाधित किया जाता है। एक ऑटोमैक-जेनरेट Makefile.in हाथ से संपादित करने के लिए नहीं है। हालांकि, अगर कोई प्रोजेक्ट ऑटोमैक का उपयोग नहीं करता है (लेकिन Autoconf का उपयोग करता है), तो उसके पास केवल Makefile.in होगा जो हाथ से संपादित किया गया है।

अधिक जानकारी के लिए http://www.gnu.org/software/autoconf/manual/html_node/Making-configure-Scripts.html देखें - विशेष रूप से आरेख।

+1

+1: अच्छी तरह से किया गया। –