Makefile (Borland) – język skryptowy, w którym tworzone są zbiory źródłowe, dla programu make pakietów programowania firmy Borland, w szczególności serii pakietów oznaczonej nazwą Turbo/Borland, przeznaczony do definiowania reguł kompilacji i łączenia powiązanych zbiorów programowych – procedur budowy aplikacji z wielu zbiorów.
Rodzaje jednostek języka
Kod źródłowy skryptu makefile zbudowany jest z określonych jednostek tworzących skrypt. Wyróżnia się następujące jednostki:
- komentarze
- reguły
- jawne
- niejawne
- makrodefinicje
- dyrektywy.
Składnia
Komentarze
W składni makefile komentarz jest zapisany jako komentarz liniowy, który rozpoczyna się w dowolnym miejscu linii zbioru źródłowego, od znaku #, a kończy znakiem końca wiersza. Składnia wiersza kodu z komentarzem ma postać:
[jednostka] # komentarz
Reguły
Reguły zawierają polecenia tworzenia zbioru wynikowego na podstawie określonych zbiorów źródłowych.
Reguły jawne
Reguły jawne mają postać:
zbiór_wynikowy: {ścieżki} zbióry_źródowe polecenie_1 … polecenie_n
- {ścieżki}
- zawierają rozdzielone średnikami ścieżki dostępu, które będą przeszukiwane w poszukiwaniu zbiorów źródłowych
- polecenie
- ma postać: przedrostki polecenie_DOS, przy czym przedrostki to frazy, które modyfikują działanie poleceń DOS.
Reguły niejawne
Reguły niejawne służą definiowaniu wielu reguł o tej samej budowie za pomocą pojedynczej definicji. Składnia:
{katalog_źródłowy}.rozszerzenie_1.{katalog_docelowy}.rozszerzenie_2: polecenie_1 … polecenie_n
Makrodefinicje
Makrodefinicje umożliwiają definiowanie powtarzających się poleceń, zbiorów i opcji, które identyfikowane są przez pewien użyty w definicji identyfikator.
- makrodefinicja
identyfikator=tekst
- odwołanie
$(identyfikator)
Oprócz makrodefinicji definiowanych przez użytkownika program dostarcza wbudowane makrodefinicje, także o specjalnym sposobie odwołania, np. §d, §*
i inne, które służą do odwołań zastępujących określone nazwy zbiorów i ścieżek, w tym bieżących zależnych od aktualnych ustawień systemu komputerowego i instalacji systemu programowania. W odwołaniach do makrodefinicji predefiniowanych można stosować również modyfikatory identyfikowane literami D, F, B i R
.
Oprócz predefiniowanych makrodefinicji dostępne są również predefiniowane nazwy:
- _MSDOS_
- 1, gdy make uruchomiony jest z poziomu DOS
- _MAKE_
- zakodowana wersja programu
- MAKE
- nazwa zbioru programu make
- MAKEFLAGS
- opcje uruchomienia programu make
- MAKEDIR
- nazwa katalogu, z którego uruchomiono program make.
Dyrektywy
Dyrektywy makefile pełnią funkcje podobne (analogiczne) do preprocesora lub dyrektyw kompilatora. Są to między innymi dyrektywy warunkowe, włączające, przełącznikowe, komunikatów. Dyrektywy zapisywane są po znaku !, np.
!include "nazwa zbioru" !if wyrażenie … !else … !endif !undefine nazwa
Dyrektywy przełącznikowe i parametryczne mają postać:
.dyrektywa
np.
- .ignore | .noignore
- dyrektywa przełącznikowa
- .path
- rozszerzenie=ścieżka : dyrektywa parametryczna.
W dyrektywach warunkowych dostępne są operatory takie jak operatory porównań, arytmetyczne, logiczne, bitowe, warunkowy.
Zbiór źródłowy
Zbiór źródłowy ze skryptem jest plikiem tekstowym zapisanym w zbiorze o nazwie:
- makefile, lub
- makefile.mak.
Zbiór ten powinien znajdować się w bieżącym katalogu programu make.
Bibliografia
- Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów, ISBN 83-85060-53-7, ISSN 0867-6011