eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaMakefile › Re: Makefile
  • Data: 2018-08-22 13:05:33
    Temat: Re: Makefile
    Od: q...@t...no1 (Queequeg) szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Queequeg <q...@t...no1> wrote:

    Jeszcze wyjaśnienie, co to robi.

    > NAME = maketest

    Ustawia nazwę projektu (pliku .bin i .hex), jest używana niżej.

    > SRCS = maketest.c maketest2.c

    Lista plików źródłowych.

    > ASMS = $(SRCS:.c=.s)

    Lista plików .s stworzona z listy plików źródłowych zamieniając .c na .s.

    > OBJS = $(ASMS:.s=.o)

    Lista plików .o stworzona jak wyżej (z listy plików .s, zamieniając .s na
    .o).

    > .PHONY: all clean

    Nawet jak będzie istniał plik all i clean, to i tak wykona te targety.

    > all: $(NAME).hex

    Określa, że make all będzie miało taki sam efekt, jak make maketest.hex
    (make tworzy plik, all to target a nie plik).

    > %.s:
    > cc65 -o $@ $<

    Określa regułę dla utworzenia pliku .s. $@ to plik wyjściowy (.s), $<
    wejściowy (.c).

    > %.o:
    > ca65 -o $@ $<

    Analogicznie.

    > $(ASMS): $(SRCS)

    Tworzy zależność plików .s od plików .c.

    > $(OBJS): $(ASMS)

    Analogicznie .o od .s.

    > $(NAME).bin: $(OBJS)
    > ld64 -o $(NAME).bin $(OBJS)

    Tworzy zależność pliku .bin od plików .o i tworzy regułę utworzenia tego
    pliku z plików .o (z listy OBJS).

    > $(NAME).hex: $(NAME).bin
    > program_do_konwersji_do_hex $(NAME).hex $(NAME).bin

    Tworzy zależność pliku .hex od pliku .bin i tworzy regułę, jak wyżej. W
    testach też dodałem -o przed $(NAME).hex.

    > clean:
    > rm -f $(NAME).hex $(NAME).bin $(OBJS) $(ASMS)

    Tworzy target kasujący pliki potworzone przez makefile, żeby make clean je
    usunęło. Kasuje plik maketest.hex, maketest.bin, pliki .o i pliki .s.

    --
    https://www.youtube.com/watch?v=9lSzL1DqQn0

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: