<html><body>Pokud IDE nema funkci generovani makefile , muze byt napsani makefile slozitejni nez napsani samotneho programu.<br>Podival jsem se jak je to z podporou makefile u MDK-ARM, jak compiler tak linker lze volat z prikazoveho radku, cili pouziti makefile nic nebrani, ale IDE ( uVision) nema prikaz pro vygenerovani makefile.<br>Kdyz se podivam na compiler control string, dost pochybuji, ze nekdo bude&nbsp; makefile tvorit rucne.<br><br>Hutta<br>&nbsp;<br><p>---------- Původní zpráva ----------<br>Od: Petr Labaj &lt;labaj@volny.cz&gt;<br>Datum: 26. 1. 2013<br>Předmět: Re: ARM a Makefile</p><br><blockquote><div style="background-color: #ffffff">
<div><font face="Arial CE" size="2">Proc lidi nepouzivaji Makefile? Protoze 
spousta lidi ani nevi, co to je (tim ted zrovna</font></div>
<div><font face="Arial CE" size="2">nemyslim vzorek lidi z hw.cz, i kdyz i tady se 
obcas vyskytuji nazory, ze je vhodnejsi</font></div>
<div><font face="Arial CE" size="2">pouzit </font><font face="Arial CE" size="2">predchystany example, nez se snazit problemtiku 
nastudovat).</font></div>
<div><font face="Arial CE" size="2">Kdyz se podivate do prakticky libovolneho fora 
</font><font face="Arial CE" size="2">o programovani nejakeho 
procesoru,</font></div>
<div><font face="Arial CE" size="2">tak kazda druha otazka tam&nbsp;je "pod 
Eclipse </font><font face="Arial CE" size="2">to chodi, ale pod mym XYZ to 
nejde".</font></div>
<div><font face="Arial CE" size="2">Nikdo z nich nepremysli nad tim, ze preklad 
</font><font face="Arial CE" size="2">je veci kompilatoru, tedy 
toolchainu,</font></div>
<div><font face="Arial CE" size="2">a ze s tim ma barevna klikaci nadstavba 
IDE&nbsp;</font><font face="Arial CE" size="2">spojitost jen 
okrajovou.</font></div>
<div><font face="Arial CE" size="2"></font>&nbsp;</div>
<div><font face="Arial CE" size="2">Konkretne:</font></div>
<div><font face="Arial CE" size="2">- knihovny prekladam predem a delam z nich 
jednu knihovnu (*.a)</font></div>
<div><font face="Arial CE" size="2">- knihovny jsou ulozene v pevne definovanem 
adresari, ktery je spolecny pro</font></div>
<div><font face="Arial CE" size="2">&nbsp; vsechny projekty</font></div>
<div><font face="Arial CE" size="2">- adresar projektu ma shodne jseno s 
projektem, v nem jsou podadresare:</font></div>
<div><font face="Arial CE" size="2">&nbsp; - src</font></div>
<div><font face="Arial CE" size="2">&nbsp; - include</font></div>
<div><font face="Arial CE" size="2">&nbsp; - ld</font></div>
<div><font face="Arial CE" size="2">&nbsp; - tmp</font></div>
<div><font face="Arial CE" size="2">- v adresari projektu je jen Makefile, vystup 
"projekt.elf" a soubor s opisem hlasek</font></div>
<div><font face="Arial CE" size="2">&nbsp; z prekladu "projekt.txt", vcetne vypisu 
o delce code a data</font></div>
<div><font face="Arial CE" size="2">- v podadresari tmp jsou *.obj, *,lst ke 
kazdemu modulu, "projekt.map" a "projekt.dis",</font></div>
<div><font face="Arial CE" size="2">&nbsp; coz je nejkompletnejsi mozny 
disassembler vysledneho projektu, vcetne hexdumpu,</font></div>
<div><font face="Arial CE" size="2">&nbsp; tedy veskera informace pro pripadne 
hledani</font></div>
<div><font face="Arial CE" size="2">- Makefile ma krome obvykleho "clean" jeste 
"clean_tmp", ktery maze pracovni soubory,</font></div>
<div><font face="Arial CE" size="2">&nbsp; ale ponecha "projekt.elf" a&nbsp;<font face="Arial CE" size="2">"projekt.txt".</font></font></div>
<div><font face="Arial CE" size="2"></font>&nbsp;</div>
<div><font face="Arial CE" size="2">Diky predkompilovanym knihovnam je build 
projektu velmi rychly.</font></div>
<div><font face="Arial CE" size="2">Na urovni systemu je pradnastavena 
volba&nbsp;-j pro paralelni preklad. Mym cilem</font></div>
<div><font face="Arial CE" size="2">vzdy je, aby jedno kolo preklad+link nikdy 
netrvalo dele nez 2 sekundy (na Linuxu, </font><font face="Arial CE" size="2">kde</font></div>
<div><font face="Arial CE" size="2">mi soucasne toolchainy, natr. pro STM32, chodi 
vyrazne rychleji nez na Windows).</font></div>
<div><font face="Arial CE" size="2">Pokud by to melo u hodne velkeho projektu 
trvat dele, je treba se zamyslet a rozlozit to.</font></div>
<div><font face="Arial CE" size="2">Knihovny pouzivam jen naprosto minimalne, 
vetsinu veci si radeji napisu sam a vim,</font></div>
<div><font face="Arial CE" size="2">co a jak tam je. A muzu to snadno preportovat 
jinam.</font></div>
<div><font face="Arial CE" size="2">Vyjimkou jsou hodne komplexni periferie jako 
USB a Ethernet.</font></div>
<div><font face="Arial CE" size="2">S verzovacimi SW jsem se nikdy neszil (coz 
povazuji za svou chybu). Takze verzovani</font></div>
<div><font face="Arial CE" size="2">pomoci pojmenovanych *.zip.</font></div>
<div><font face="Arial CE" size="2"></font>&nbsp;</div>
<div><font face="Arial CE" size="2">PL</font></div>
<div><font face="Arial CE" size="2"></font>&nbsp;</div>
<blockquote style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<div style="FONT: 10pt arial">----- Original Message ----- </div>
<div style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><b>From:</b> 
<a href="mailto:BuFran@seznam.cz">František Burian</a> 
</div>
<div style="FONT: 10pt arial"><b>To:</b> <a href="mailto:hw-list@list.hw.cz">hw-list@list.hw.cz</a> </div>
<div style="FONT: 10pt arial"><b>Sent:</b> Saturday, January 26, 2013 7:58 
PM</div>
<div style="FONT: 10pt arial"><b>Subject:</b> ARM a Makefile</div>
<div><font face="Arial CE" size="2"></font><font face="Arial CE" size="2"></font><br></div>Zdravím osazenstvo,<br><br>&nbsp; Mám tu 
záludné dotazy na sobotní večer. <br><br>&nbsp; Všechny example které tu 
proběhly jsou nativní pro Code::Blocks. Chtěl bych se zeptat (čistě z 
neznalosti) <br>z jakých důvodů nikdo nevytváříte projekt jako Makefile. 
Myslím že pro možnost kompilace pod různými OS <br>(a že tu jsou i lidé z 
Linuxových luhů a hájů) by byl Makefile lepší volbou. Zakládat nový projekt na 
kterém v <br>budoucnosti může pracovat více lidí jako Makefile, nebo jako 
standardní C::B projekt ?<br><br>&nbsp; Druhý dotaz směřuje k zakládání 
projektu - když bych chtěl od počátku založit projekt tak, aby jej snadno 
<br>chápali druzí, aby zkušení v něm dobře "četli", aby šel například 
zkompilovat i bez Code::Blocks, jakým způsobem <br>bych měl rozčlenit 
adresářovou strukturu ? Rád bych věděl Vaše názory jak zakládáte své projekty, 
případně <br>jak členíte strukturu. Řekněme že se jedná o středně rozsáhlý 
projekt, kde bude komunikace s PC, nějaké UI s <br>"točítkama" pro uživatele, 
nějaká matematika. Vše v rámci ARM mikrokontroleru (STM32F1 nebo STM32F4). 
<br><br>&nbsp; Třetí dotaz směřuje též k založení a "znovupoužití" projektu 
někým jiným - jedná se o stahování a instalaci <br>periferních knihoven, ve 
kterých jsou změny oproti originálu. Přikládat a verzovat tuto knihovnu 
společně s <br>projektem, nebo raději napsat uživateli postup odkud stáhnout a 
co kde a jak přeplácnout a modifikovat v tom <br>originálu. Já bych byl pro 
první variantu, ještě nevím zdali to není rozpor s licencí (musím prověřit) 
ale zdá se <br>mi to přístupnější většímu počtu uživatelů. (na zprovoznění by 
stačilo mít provozuschopný toolchain a jen <br>stáhnout zdrojový kód z SVN). 
Uvažujme situaci jeden projekt (tedy NE situaci kdy knihovnu využívá vícero 
<br>projektů)<br><br>Dík za tipy.<br><br>&nbsp; 
Franta.<br></blockquote></div></blockquote></body></html>