Makefile(meyk-fayl) – MAKE komandasının işini idarə edən fayl. Adətən, makefile proqramları necə kompilyasiya edib bir yerə yığmağı təsvir edir. Bu fayl qaydalardan və dəyişənlərdən ibarətdir. Qaydalar aşağıdakı sintaksisə malikdir:

məqsəd1 məqsəd2 …: rekvizit1 rekvizit2 …

komanda1

komanda2
        ...

Qayda, komandalar toplusudur və onların yerinə yetirilməsi rekvizit-fayllardan məqsəd-faylların yığılması ilə nəticələnir. Qayda make utilitinə məlumat verir ki, komandaların işinin nəticəsində alınan fayllar (məqsədlər) uyğun rekvizit-fayllardan asılıdır. Komandaların yazıldığı sətirlər tabulyasiya simvolu ilə başlamalıdır.


    PACKAGE = package
    VERSION = ` date "+%Y.%m%d%" `
    RELEASE_DIR = ..
    RELEASE_FILE = $(PACKAGE)-$(VERSION)
 
    # Notice that the variable LOGNAME comes from the environment in
    # POSIX shells.
    #
    # target: all - Default target. Does nothing.
    all:
         echo "Hello $(LOGNAME), nothing to do by default"
         # sometimes: echo "Hello ${LOGNAME}, nothing to do by default"
         echo "Try 'make help'"
 
    # target: help - Display callable targets.
    help:
         egrep "^# target:" [Mm]akefile
 
    # target: list - List source files
    list:
         # Won't work. Each command is in separate shell
         cd src
         ls
 
         # Correct, continuation of the same shell
         cd src; \
         ls
 
    # target: dist - Make a release.
    dist:
         tar -cf $(RELEASE_DIR)/$(RELEASE_FILE) && \
         gzip -9 $(RELEASE_DIR)/$(RELEASE_FILE).tar
 </math>

Ədəbiyyat

redaktə