2013-02-21 57 views
20

के साथ autotools का उपयोग करें मैं गिटहब पर होस्ट की गई पुस्तकालयों के लिए ऑटोोटूल का उपयोग कर रहा हूं। सामान्य README टेक्स्ट फ़ाइल का उपयोग करने के बजाय, मैं README.md का उपयोग करना चाहता हूं।README.md

जब automake चल रहा है, मैं करने के निम्न त्रुटि

Makefile.am: required file `./README' not found 

यह संभव README की जांच नहीं autotools बताने के लिए है?

उत्तर

27

बस foreign विकल्प को स्वचालित करने के लिए पास करें। यह बताता है कि आपका सॉफ़्टवेयर सामान्य gnu मानकों के अनुरूप नहीं है, और इस प्रकार रीडमे को छोड़ना कोई त्रुटि नहीं है। आमतौर पर, यह configure.ac में किया जाता है:

AM_INIT_AUTOMAKE([foreign]) 

लेकिन यह भी Makefile.am में AUTOMAKE_OPTIONS बताए द्वारा किया जा सकता है: हम

README: README.md 
     fgrep -v "[Build Status]" $< \ 
       | markdown \ 
       | html2text -style pretty -nobs \ 
       | sed -e 's:&gt;:>:g' \ 
       > [email protected] 

उपयोग कर रहे हैं एक पाठ उत्पन्न करने के लिए

AUTOMAKE_OPTIONS = foreign 
+1

शानदार, धन्यवाद। दूसरों के लिए नोट, आपको 'config.ac' को बदलने के बाद' autoreconf' चलाने की आवश्यकता है। –

4

क्यों न पूछें कि आपके पास पहले से ही एक है जब आपकी रीडमे फ़ाइल की तलाश न करें? यह सिर्फ मार्कडाउन प्रारूप में होता है और README.md के रूप में सहेजा जाता है। अगर आप अपनी README फ़ाइल को अपनी README.md फ़ाइल के समान होना चाहते हैं, तो इसका लिंक क्यों न करें?

कमांड लाइन से:

ln -s README.md README 

इस तरह, आप अपने README.md फ़ाइल और किसी भी उपकरण आप का उपयोग अभी भी मानक नामकरण सम्मेलनों के साथ काम करने में सक्षम हो जाएगा रखने के लिए मिलता है। मूल रूप से बोलते हुए, यह बहुत संभावना है कि autotools आपको अपने रीडमे के लिए एक कस्टम पथ निर्दिष्ट करने की अनुमति देता है।

+4

मुझे यह बिल्कुल नहीं चाहिए। यह सिर्फ भ्रमित है। –

7

मार्कडाउन से README README.md

+0

धन्यवाद! लेकिन इतना जटिल क्यों? रीडमे नहीं होगा: README.md बिल्ली $ < > $ @। Tmp क्या करें? :) – Ax3l

0

सिंपल समाधान, आधारित पीएन fceller का उत्तर: केवल एक चीज जिसकी आवश्यकता है, READMEmakefile.am में एक बिल्ड नियम है। यह नियम भी खाली हो सकता है। तो बस अपने makefile.am में निम्न पंक्ति जोड़ें:

README: README.md 

बस इतना ही, अब automake अब शिकायत नहीं है, और आप foreign के रूप में अपनी परियोजना की घोषणा करने की जरूरत नहीं है।

यह आवश्यक नहीं है, लेकिन मैं एक और अधिक पूरा शासन पसंद करते हैं, मैं makefile.am में जोड़ें:

README: README.md 
    pandoc -f markdown -t plain --wrap=none $< -o [email protected] 

CLEANFILES = README 

लेकिन फिर भी इस नियम के साथ, README नहीं ले सकता जब तक आप स्पष्ट make README कहते हैं।