39032

39032



156


ROZDZIAŁ 21. W IĘCEJ O KOMPILOWANIU

zbudowana właśnie reguła domyślna. Tak więc dobrze jest jako pierwszą regułę wstawić regułę hudująrą końcowy plik wykonywalny; zwyczajowo regułę tą nazywa się all.

Należy pamiętać, by sekcji “co” nie wcinać, natomiast “reguły" wcinać dwoma spacjami. Część “od_czego” może być pusta.

Plik Makełile umożliwia też definiowanie pewnych zmiennych. Nie trzeba tutaj się już troszczyć o typ zmiennej, wystarczy napisać:

nazwa.zmiennej ■ wartość

W ten sposób możemy zadeklarować dowolnie dużo zmiennych. Zmienne mogą być różne nazwa kompilatora, jego |>arametry i wiele innych. Zmiennej używamy w następujący sposób: $(nazwa.zmiennej).

Komentarze w pliku Make file tworzymy zaczynając linię od znaku hasli (#).

Przykładowy plik Makełile

Dość tej teorii, teraz zajmiemy się działającym przykładem. Załóżmy, że nasz przykładowy program nazywa się test oraz składa się z czterech plików:    pierwszy.c    drugi.c

trzeci.c cz.warty.c

Odpowiedni plik Makełile powinien wyglądać mniej więcej tak:

0 Mój plik makefile - wpisz 'make all' aby skompilować cały program CC - gcc

all: pierwszy.o drugi.o trzeci.o czwarty.o

$(CC) pierwszy.o drugi.o trzeci.o czwarty.o -o test

pierwszy.o: pierwszy.c

$(CC) pierwszy.c -c -o pierwszy.o

drugi.o: drugi.c

$(CC) drugi.c -c -o drugi.o

trzeci.o: trzeci.c

$(CC) trzeci.c -c -o trzeci.o

czwarty.o: czwarty.c

$(CC) czwarty.c -c -o czwarty.o

Widzimy, że nasz program zależy od 4 plików z rozszerzeniem .o (pierwszy.o itd.), potem każdy z tych plików zależy od plików .c, które |>rogram make skompiluje w pierwszej kolejności, a następnie połączy w jeikm program (test ). Nazwę- kompilatora zapisaliśmy jako zmienną, ponieważ powtarza się i zmienna jest sposobem, by zmienić ją wszędzie za jednym zamachem.

Zatem jak widać używanie pliku Makefik- jest bardzo proste. Warto na koniec naszego przykładu dodać regułę, która wyczyści katalog z plików .o:

clean:

rm -f *.o tost

Ta reguła spowoduje usunięcie wszystkich plików .o oraz naszego programu jeśli napiszemy make clean.

Możemy też ukryć wykonywane komendy alł>o dopisać własny opis czynności: clean:

Cecho Usuwam gotowe pliki ©rm -f *.o test



Wyszukiwarka

Podobne podstrony:
158ROZDZIAŁ 21. W IĘCEJ O KOMPILOWANIU Aby procesor mógł łatwiej przetworzyć dane kompilator może do
DSC21 mm 1 ijue Obliczenie strumienia Y^ wymaga znajomości prędkości w, a więc konieczne jest zasto
Kobiety rządzą światem 21 Prof. Jadwiga Mizińska: 0, właśnie dochodzimy do tego feminizmu wściekłego
18484 Tkanka 20 B3 B9czna 20w B3 F3knista 20zbita 2010x 21 ^K^O/Tkanka łączna zbita o układzie regul
DSC00143 (21) Białka proste zbudowane są wyłącznie z aminokwasów, natomiast .białka złożone zawieraj
82293 Tkanka 20 B3 B9czna 20w B3 F3knista 20zbita 2040x 21 Tkanka łączna zbita o układzie regularnym
Tkanka 20 B3 B9czna 20w B3 F3knista 20zbita 2010x 21(1) Tkanka łączna zbita o układzie regularnym -
Tkanka 20 B3 B9czna 20w B3 F3knista 20zbita 2040x 21(1) /J^r Tkanka łączna zbita o układzie regularn
skan1 Zdanie Zdanie w sensie logicznym1 jest to wyrażenie językowe, zbudowane zgodnie z regułami skł
img016 (46) 21 21 (2.24) aV ■= 4/Vakk dla j = k,k +1, ■ • •, n, H 8t; « remie o numerze k otrzymane

więcej podobnych podstron