<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 makefile tvorit rucne.<br><br>Hutta<br> <br><p>---------- Původní zpráva ----------<br>Od: Petr Labaj <labaj@volny.cz><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 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 </font><font face="Arial CE" size="2">spojitost jen
okrajovou.</font></div>
<div><font face="Arial CE" size="2"></font> </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"> 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"> - src</font></div>
<div><font face="Arial CE" size="2"> - include</font></div>
<div><font face="Arial CE" size="2"> - ld</font></div>
<div><font face="Arial CE" size="2"> - 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"> 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"> coz je nejkompletnejsi mozny
disassembler vysledneho projektu, vcetne hexdumpu,</font></div>
<div><font face="Arial CE" size="2"> 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"> ale ponecha "projekt.elf" a <font face="Arial CE" size="2">"projekt.txt".</font></font></div>
<div><font face="Arial CE" size="2"></font> </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 -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> </div>
<div><font face="Arial CE" size="2">PL</font></div>
<div><font face="Arial CE" size="2"></font> </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> Mám tu
záludné dotazy na sobotní večer. <br><br> 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> 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> 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>
Franta.<br></blockquote></div></blockquote></body></html>