Kurs programowania w C cz. 138

Nasza ocena:

5
Wyświetleń: 651
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 138 - strona 1

Fragment notatki:

156 ROZDZIAŁ 21. WIĘCEJ O KOMPILOWANIU zbudowana właśnie reguła domyślna. Tak więc dobrze jest jako pierwszą regułę wstawić regułę budującą 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 Makefile 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 parametry i wiele innych. Zmiennej używamy w następujący sposób: $(nazwa zmiennej). Komentarze w pliku Makefile tworzymy zaczynając linię od znaku hash (#). Przykładowy plik Makefile Dość tej teorii, teraz zajmiemy się działającym przykładem. Załóżmy, że nasz przykła- dowy program nazywa się test oraz składa się z czterech plików: pierwszy.c drugi.c trzeci.c czwarty.c Odpowiedni plik Makefile powinien wyglądać mniej więcej tak: # 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 program make skompiluje w pierwszej kolejności, a następnie połączy w jeden 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 Makefile jest bardzo proste. Warto na koniec naszego przykładu dodać regułę, która wyczyści katalog z plików .o: clean: rm -f *.o test Ta reguła spowoduje usunięcie wszystkich plików .o oraz naszego programu jeśli napiszemy make clean. Możemy też ukryć wykonywane komendy albo dopisać własny opis czynności: clean: @echo Usuwam gotowe pliki @rm -f *.o test ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz