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. Çıktı 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 "build scripts" adı verilir ve hedef dosyayı oluşturması için shell` e geçirilir. Basit bir Makefile yapısı aşağıdaki gibidir.
target: dependencies
- Yorumlar buraya yazılırcommand 1command 2...command n
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ğarabileceğ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.