Make dosyaları bir formdan diğerini çevirme işlemini otomatikleştiren bir araçtır. Bu işlemi, çevrilecek programların ihtiyaç duyacağı diğer programları kontrol ettikten sonra gerekli programları çalıştırarak çevirme işlemini gerçekleştirir. Çevrilen programı çalıştırmak için ihtiyaç duyulan diğer programlara bağımlılıklar denir. Unix/Linux tabanlı işletim sistemlerinde, kaynak kodu () () derlerken ve nesne kodlarını çalıştırılabilir (executable) ve kütüphane (library) dosyalarına bağlarken (linking) sıkılıkla kullanılır. Bağımlılık grafiğini çıkarmak için "Makefile" ismi verilen bir dosya kullanır ve shell'e (kabuk) geçirilmek üzere kullanılan betikleri (script) oluşturur.
Otomatik yazılım inşasında karşılaşılan bir problem inşa işleminin farklı platformlarda uygulanmasıdır. Örneğin, bir platformda kullanılan derleyici başka platformdaki bir derleyiciyle aynı parametreleri kullanmıyor olabilir. Bu problemi yalnız Make kullanarak çözmek pratik değildir. Bu problemi çözmek için genellikle CMake ve gibi araçlar kullanılarak platforma özel inşa komutları oluşturulur. Oluşturulan komutlar daha sonra Make tarafından işlenir.
Makefile Yapısı
Makefile bir grup dosyaya bağlı olarak, bir dosyayı ya da kural adını tanımlayan metin satırlarından oluşur. dosyaları bağlı oldukları kaynak dosyalarına ve kaynak dosyalarda içinden dahil edildikleri dosyalara göre işaretlenirler. Her bir bağımlılık listelendikten sonra, tab ile boşluk bırakılmış satır dizileri girdi dosyalarının çıktı dosyalarına nasıl dönüştürüleceğini tanımlar (eğer girdi dosyaları çıktılardan daha önce değişikliğe uğramış ise). Bu tip tanımlamalara "" adı verilir ve oluşturması için shell' e geçirilir. Basit bir Makefile yapısı aşağıdaki gibidir.
Makefile çeşitli değişken tanımları içerebildiği gibi diğer Makefile' lardan alıntıda yapabilir. Makefile içerisindeki değişkenler komut satırından geçirilecek olan değerlerle değiştirilebilir. Bu kullanıcıya build script' ler için farklı davranışlar tanımlayabilmesini sağlar ve programları diğerleri arasından nasıl çağırabileceğini belirler. Örneğin, Makefile lardaki "CC" değişkeni sıklıkla C derleyicisine referans için kullanılır ve kullanıcı farklı bir derleyiciyi kullanmak maksadıyla tanımlayabilir.
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Make dosyalari bir formdan digerini cevirme islemini otomatiklestiren bir aractir Bu islemi cevrilecek programlarin ihtiyac duyacagi diger programlari kontrol ettikten sonra gerekli programlari calistirarak cevirme islemini gerceklestirir Cevrilen programi calistirmak icin ihtiyac duyulan diger programlara bagimliliklar denir Unix Linux tabanli isletim sistemlerinde kaynak kodu derlerken ve nesne kodlarini calistirilabilir executable ve kutuphane library dosyalarina baglarken linking sikilikla kullanilir Bagimlilik grafigini cikarmak icin Makefile ismi verilen bir dosya kullanir ve shell e kabuk gecirilmek uzere kullanilan betikleri script olusturur GNU Make Building Audacious un ekran goruntusu Otomatik yazilim insasinda karsilasilan bir problem insa isleminin farkli platformlarda uygulanmasidir Ornegin bir platformda kullanilan derleyici baska platformdaki bir derleyiciyle ayni parametreleri kullanmiyor olabilir Bu problemi yalniz Make kullanarak cozmek pratik degildir Bu problemi cozmek icin genellikle CMake ve gibi araclar kullanilarak platforma ozel insa komutlari olusturulur Olusturulan komutlar daha sonra Make tarafindan islenir Makefile YapisiMakefile bir grup dosyaya bagli olarak bir dosyayi ya da kural adini tanimlayan metin satirlarindan olusur dosyalari bagli olduklari kaynak dosyalarina ve kaynak dosyalarda icinden dahil edildikleri dosyalara gore isaretlenirler Her bir bagimlilik listelendikten sonra tab ile bosluk birakilmis satir dizileri girdi dosyalarinin cikti dosyalarina nasil donusturulecegini tanimlar eger girdi dosyalari ciktilardan daha once degisiklige ugramis ise Bu tip tanimlamalara adi verilir ve olusturmasi icin shell e gecirilir Basit bir Makefile yapisi asagidaki gibidir Makefile cesitli degisken tanimlari icerebildigi gibi diger Makefile lardan alintida yapabilir Makefile icerisindeki degiskenler komut satirindan gecirilecek olan degerlerle degistirilebilir Bu kullaniciya build script ler icin farkli davranislar tanimlayabilmesini saglar ve programlari digerleri arasindan nasil cagirabilecegini belirler Ornegin Makefile lardaki CC degiskeni siklikla C derleyicisine referans icin kullanilir ve kullanici farkli bir derleyiciyi kullanmak maksadiyla tanimlayabilir Ayrica bakinizCMake