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.
Misal:
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
- İsmayıl Calallı (Sadıqov), "İnformatika terminlərinin izahlı lüğəti", 2017, "Bakı" nəşriyyatı, 996 s.