मैं कुछ स्क्रिप्ट, शायद एक डेमॉन, या यहाँ तक कि एक सहायक बाइनरी के साथ एक आवेदन पत्र के बंडल बनाने हूँ कहो ... जब इस तरह के एक द्विआधारी संकलन .. यह संभव ही रिश्तेदार साथ यह ./configure/make है पथ? उदाहरण के लिए, एक अधिक ईमानदार Makefile जैसे प्रावधानों के लिए शामिल होंगे ...सापेक्ष पथनामों के साथ क्रॉस-संकलन - बाइनरी पोर्टेबिलिटी/एम्बेड करने योग्यता के लिए? (जीसीसी)
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/hiawatha]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
यह महान है, तो आप /opt/local
बजाय /usr/local
के लिए सब कुछ स्थापित कर सकते हैं। शायद पागल हो, और sed
के माध्यम से बाइनरी नाम बदलने .. मैं समझ गया ..
लेकिन क्या मेरी छोटे मस्तिष्क में अस्पष्ट बनी हुई है, है अगर क्षमता मनमाने ढंग से इस तरीके से पथ सेट करने के लिए मैप करने के लिए क्षमता के लिए प्रदान निर्देशिका निष्पादन के सापेक्ष, एक तरह से करने के लिए इसी में ...
--prefix=PREFIX install architecture-independent files in PREFIX [/usr/local]
--prefix=./ aka [../relative/to/binary]
तो, उदाहरण के लिए, तुम कहाँ से bin
शुरू की कोई बात नहीं है, यह हमेशा पता होगा यह .conf
फ़ाइल को जा रहा था कि एक फ़ोल्डर, उस रिश्तेदार ../etc
फ़ोल्डर में, या संभवतः इसके ठीक आगे भी, उसी निर्देशिका में, ./
। इसी प्रकार, आप अपने लक्ष्य की अनुमति/निर्देशिका संरचना के बारे में सोचने के बिना लॉग और पिड फाइलों आदि के लिए लेखन पहुंच की गारंटी दे सकते हैं ...
यह एक पूरी तरह से पोर्टेबल /bin /etc /lib /var
निर्देशिका संरचना को सक्षम करेगा, जिसमें एक पाथ के भीतर मैं कुछ गारंटी दे सकता हूं भविष्यवाणी की समानता ... लेकिन मुझे नहीं लगता कि यह सिर्फ "काम करता है" .. और मुझे यकीन है कि अगर "स्थिर रूप से लिंक करना" या अन्यथा अनिश्चित है? सचमुच उन बाइनरी बनाती है जो किसी अन्य सिस्टम () में स्थानांतरित करने में सक्षम हैं, इस परिदृश्य के लिए, उसी स्थान पर समान समर्थन libs वाले लोगों के लिए, ताकि समस्या को हल न करें) क्या यह संभवतः इस में क्रॉस-संकलन करना है तौर तरीका? और क्या आप एक ही निर्माण चक्र में कई आर्किटेक्चर के लिए निर्माण कर सकते हैं? (उदाहरण के लिए i386 और x86_64 एक ही समय में)
शायद मैं एक अच्छा जीएनयू/जीसीसी प्राइमर (सीसी, सीएफएलजीएस, एलडीएफएलजीएस, -एल,, -आई, और सीपीपी 101 इत्यादि) की सिफारिश का उपयोग कर सकता हूं। लेकिन यह 70 के दशक में गणित शिक्षकों के लिए (और द्वारा) लिखा नहीं गया था?