Yeni İşlevsellik Eklenmesi
Önceki Ek D. Kütüphanenin Sürdürülmesi Sonraki
Yeni İşlevsellik Eklenmesi
Kütüphanenin kurgulanması GNU make'in özel oluşumlarının ağırlıkla kullanıldığı Makefile dosyaları ile yapılır. Makefile dosyaları oldukça karmaşıktır ve büyük ihtimalle onları anlamaya çalışmayı istemezsiniz. Fakat, sadece bir kaç değişkeni bile doğru yerde tanımlayabilmeniz için onların ne yaptıklarını anlamanız oldukça önemlidir.
Kütüphane kaynak kodu konulara göre gruplanmış alt dizinlere bölünmüştür.
Örneğin, string alt dizininde dizge işleme işlevleri, math alt dizininde matematiksel işlevler bulunur.
Her dizinde birer basit Makefile dosyası bulunur. İçinde birkaç make değişkeni ve üst dizindeki Makefile dosyasından bu dosyaya dahil edilenler bulunur. Örneğin, Rules şöyle bir satırla dahil edilir:
include ../Rules
Alt dizinlerde bulunan Makefile dosyalarında tanımlanmış temel değişkenler şunlardır:
subdir
Alt dizinin ismi, örneğin stdio. Bu değişken tanımlı olmalıdır.
headers
Kütüphanenin bu bölümündeki başlık dosyalarının isimleri, örneğin stdio.h.
routines
aux
Kütüphanenin bu bölümündeki modüllerin (kaynak dosyalarının) isimleri. Bunlar strlen gibi basit isimler olmalıdır (strlen.c gibi bir dosya ismi değil). Kütüphanede tanımlı işlevlerin modülleri için routines, veri tanımları gibi şeyleri içeren modüller için ise aux kullanın. Fakat, routines ve aux değerleri birleşik olmalıdır, yani aslında pratik olarak bir farkları yoktur.
tests
Kütüphanenin bu bölümündeki sınama yazılımlarının isimleri. Bunlar tester gibi basit isimler olmalıdır (tester.c gibi bir dosya ismi değil). make tests tüm sınama yazılımlarını derleyecek ve çalıştıracaktır. Eğer bir sınama yazılımı girdiye ihtiyaç duyuyorsa sınama verisini sınama-yazılımı.input dosyasına koyun; bu dosyanın içindeki veriler yazılıma standart girdi üzerinden verilecektir. Eğer bir sınama yazılımının argümanlar alması gerekiyorsa bunları (hepsi tek bir satırda olmak üzere) sınama-yazılımı.args dosyasına koyun. Sınama yazılımları sınamalar başarılı olursa sıfır durumu ile sınama sırasında kütüphanede ya da derlemede bir hata bulmuşsa sıfırdan farklı bir durum ile çıkmalıdır.
others
Kütüphanenin bu bölümündeki "diğer" yazılımlarının isimleri. Bunlar sınama yazılımları değildir, ama kütüphane ile bir takım küçük uygulamalar dağıtılabilir. Bunlar make others ile derlenirler.
install-lib
install-data
install
make install ile kurulacak dosyalar. install-lib ile belirtilen dosyalar configparms veya Makeconfig içinde libdir ile belirtilen dizine kurulurlar (bkz. GNU C Kütüphanesinin Kurulması). install-data ile belirtilen dosyalar configparms veya Makeconfig içinde datadir ile belirtilen dizine kurulurlar. install ile belirtilen dosyalar ise configparms veya Makeconfig içinde bindir ile belirtilen dizine kurulurlar.
distribute
Dağıtılacak bir tar dosyasına bu alt dizinden konacak dosyalar. Burada Makefile dosyasını ve diğer standart kütüphanelerin içinde listelenen kaynak ve başlık dosyaları listelenmemelidir. Sadece dağıtıma bir şekilde girmeyecek dosyaları belirtin.
generated
Bu alt dizinde Makefile dosyası tarafından üretilecek dosyalar. Bu dosyalar make clean ile silinecek ve bir dağıtıma asla dahil edilmeyecektir.
extra-objs
Bu alt dizinde Makefile dosyası tarafından derlenecek ek nesne dosyaları. Bunlar foo.o gibi dosyalardan oluşan bir listedir. Bu dosyalar derleme sonucunda oluşurlar ve make clean ile silinirler. Bu değişken others veya tests derlemelerinde elde edilecek ikincil nesne dosyaları için kullanılır.
Önceki Üst Ana Başlık Sonraki
Ek D. Kütüphanenin Sürdürülmesi Başlangıç GNU C Kütüphanesinin Uyarlanması
Bir Linux Kitaplığı Sayfası