Bazı betiklerle, belki bir daemonla veya bir yardımcı ikili ile bir uygulama paketi oluşturduğumu söyleyeyim ... Böyle bir ikili derleme yaparken ... sadece ilgili ile uyumludur. /configure/yapmak mümkün yolları? Örneğin, bir daha vicdani Makefile bu harikaGöreli yol adları ile çapraz derleme - ikili taşınabilirlik/katıştırılabilirlik için? (GCC)
--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]
, sen /opt/local
yerine /usr/local
için her şeyi yükleyebilirsiniz ... gibi hükümler içerecektir. Hatta belki çıldıracağım ve sed
yoluyla ikilileri adlandırmak .. Anladım ..
Ama ne yeteneği keyfi şekilde yolları atamak için ise olduğunu, benim küçük beyin belirsizliğini koruyor ilişkilendirme becerisini kadar uzanır benzer bir şekilde yürütülebilir göre dizinler, ...
--prefix=PREFIX install architecture-independent files in PREFIX [/usr/local]
--prefix=./ aka [../relative/to/binary]
Yani, örneğin, içinden bin
başlattı olursa olsun, bunun .conf
dosya yukarı olacaktı olduğunu biliyorum hep olur Bir klasör, bu göreli ../etc
klasöründe veya muhtemelen hemen yanında, aynı dizinde, ./
. Benzer şekilde, hedefin izinleri/dizin yapısını merak etmeden, günlük ve pid dosyalarına vb. Yazma erişimini garanti edebilirsiniz ...
Bu, bazılarını garanti edebildiğim bir PATH içinde tamamen taşınabilir /bin /etc /lib /var
dizin yapısını etkinleştirir Tahmin edilebilirlik yanlısı ... ama sanırım bunun gibi "işe yaramaz" .. Ve basitçe "statik olarak bağlanıyor" ya da başka bir şeyden emin değil miyim? gerçekten başka bir sisteme (de olsa, bu senaryo için, aynı yerlerde aynı destek libs sahip olanlar için, sorunu muddle değil) taşınabilen ikili dosyaları oluşturur Bu muhtemelen çapraz derleme mi tavır? Aynı yapı döngüsünde birden fazla mimariyi inşa edebilir misiniz? (Örneğin, aynı anda i386 VE x86_64)
Belki iyi bir GNU/GCC primer (CC, CFLAGS, LDFLAGS, -l, -I ve CPP 101 vb.) Önerilerini kullanabilirim. ama bu 70'lerde (ve) Matematik öğretmenleri için yazılmadı mı?