-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.n
et!not-for-mail
From: q...@t...no1 (Queequeg)
Newsgroups: pl.misc.elektronika
Subject: Re: Makefile
Date: Wed, 22 Aug 2018 11:05:33 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <2...@t...no1>
References: <5b7ad99d$0$673$65785112@news.neostrada.pl>
<2...@t...no1>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 22 Aug 2018 11:05:33 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof";
posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="27709";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.2-20171224 ("Lochhead") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:Ccfq0w+x+RxGxwb40BA7JVc6NgY=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:735512
[ ukryj 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
Najnowsze wątki z tej grupy
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
Najnowsze wątki
- 2025-03-03 a Ty jak się zachowasz w godzinie próby?
- 2025-03-03 nie naprawiam więcej telewizorów
- 2025-03-03 Białystok => Gen AI Engineer <=
- 2025-03-03 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-03 Olsztyn => Sales Specialist <=
- 2025-03-03 Gdy ministrowie sa golodupcami
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=