Repository navigation
make
Jaroslaw Piszczala edited this page May 16, 2019
·
3 revisions
Make to narzędzie linuxowe wykorzystujące plik Makefile. Bardzo przyspiesza pracę, gdyż nie wymaga ponownego uruchamiania kilku linii komend. Co dla nas ważniejsze, make można uruchamiać także bezpośrednio w GDB, co pozwala na szybkie kompilowanie i testowanie wprowadzonych zmian.
MAKRODEFINICJA= plik1 plik2
cel: plik1 plik2 ... plikn
polecenia
clean:
rm $(MAKRODEFINICJA)- Cel - program jaki chcemy wykonać, lub komenda
- Plik - lista plików od których zależny jest cel (jeśli w jakiejś z nich zostaną wykryte zmiany, to zostaną wykonane polecenia)
- Polecenia - poprzedzone tabulacją, to komendy wraz z parametrami takie same jak używane w terminalu
- Makrodefinicja - to stała którą możemy wprowadzić aby zwiększyć czytelność pliku oraz ułatwić modyfikacje pliku.
Lista typowych celi narzędzia make
- all – jest to pierwszy cel kompilacji zdefiniowany w pliku makefile.
- install - akcja wykonywana w ramach tego celu ma spowodować skopiowanie plików wykonywalnych w ich właściwe miejsce przeznaczenia.
- clean - usunięcie plików pośrednich i wykonywalnych
- test - sprawdzenie czy utworzone programy działają poprawnie
Użycie narzędzia make bez wprowadzenia argumentów uruchomi pierwszy znaleziony w pliku cel. Aby wykorzystać inne cele, należy wprowadzić je jako argument
make clean
PROGRAM=ceasar
$(PROGRAM): $(PROGRAM).s
as -g -o $(PROGRAM).o $(PROGRAM).s
ld -o $(PROGRAM) $(PROGRAM).o
clean:
rm *.o $(PROGRAM)Literatura
Po więcej informacji z zakresu korzystania z make oraz tworzenia plików Makefile zalecam zainteresować się oficjalną dokumentacją