Makefile

testwiki saytından
imported>Gadir (vikiləşdirmə) tərəfindən edilmiş 19:02, 2 aprel 2024 tarixli redaktə
(fərq) ← Əvvəlki versiya | Son versiya (fərq) | Sonrakı versiya → (fərq)
Naviqasiyaya keç Axtarışa keç

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:

<poem>məqsəd1 məqsəd2 …: rekvizit1 rekvizit2 …

komanda1

komanda2

       ...</poem>

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:

<poem> 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></poem>

Ədəbiyyat