Skip to content
Jaroslaw Piszczala edited this page May 16, 2019 · 3 revisions

Make

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.

Konstrukcja pliku

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

Sposób użycia

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

Przykład makefile

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ą

Clone this wiki locally