<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 1/26/2013 9:27 PM, <a class="moz-txt-link-abbreviated" href="mailto:hutta.j@seznam.cz">hutta.j@seznam.cz</a>
      wrote:<br>
    </div>
    <blockquote cite="mid:3LT.2WPJD.7HayJqIvVoj.1H13mY@seznam.cz"
      type="cite">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>
    </blockquote>
    <br>
    Makefile generovane roznymi IDE je obvykle nezmyselne a zbytocne
    komplikovane. Makefile pisane rucne vyzera uplne inac. <br>
    <br>
    Podobne je to aj s parametrami pre kompilator a linker, ktore tam
    IDE nastrka - mnohokrat su dvojmo, mnohe len potvrdzuju default
    hodnoty, mnohe nemaju na nas projekt ziaden vplyv.<br>
    <br>
    -m-<br>
    <br>
    <blockquote cite="mid:3LT.2WPJD.7HayJqIvVoj.1H13mY@seznam.cz"
      type="cite">Hutta<br>
       <br>
      <p>---------- Původní zpráva ----------<br>
        Od: Petr Labaj <a class="moz-txt-link-rfc2396E" href="mailto:labaj@volny.cz">&lt;labaj@volny.cz&gt;</a><br>
        Datum: 26. 1. 2013<br>
        Předmět: Re: ARM a Makefile</p>
      <br>
      <blockquote>
        <div style="background-color: #ffffff">
          <div><font size="2" face="Arial CE">Proc lidi nepouzivaji
              Makefile? Protoze spousta lidi ani nevi, co to je (tim ted
              zrovna</font></div>
          <div><font size="2" face="Arial CE">nemyslim vzorek lidi z
              hw.cz, i kdyz i tady se obcas vyskytuji nazory, ze je
              vhodnejsi</font></div>
          <div><font size="2" face="Arial CE">pouzit </font><font
              size="2" face="Arial CE">predchystany example, nez se
              snazit problemtiku nastudovat).</font></div>
          <div><font size="2" face="Arial CE">Kdyz se podivate do
              prakticky libovolneho fora </font><font size="2"
              face="Arial CE">o programovani nejakeho procesoru,</font></div>
          <div><font size="2" face="Arial CE">tak kazda druha otazka
              tam je "pod Eclipse </font><font size="2" face="Arial CE">to
              chodi, ale pod mym XYZ to nejde".</font></div>
          <div><font size="2" face="Arial CE">Nikdo z nich nepremysli
              nad tim, ze preklad </font><font size="2" face="Arial CE">je
              veci kompilatoru, tedy toolchainu,</font></div>
          <div><font size="2" face="Arial CE">a ze s tim ma barevna
              klikaci nadstavba IDE </font><font size="2" face="Arial
              CE">spojitost jen okrajovou.</font></div>
          <div> </div>
          <div><font size="2" face="Arial CE">Konkretne:</font></div>
          <div><font size="2" face="Arial CE">- knihovny prekladam
              predem a delam z nich jednu knihovnu (*.a)</font></div>
          <div><font size="2" face="Arial CE">- knihovny jsou ulozene v
              pevne definovanem adresari, ktery je spolecny pro</font></div>
          <div><font size="2" face="Arial CE">  vsechny projekty</font></div>
          <div><font size="2" face="Arial CE">- adresar projektu ma
              shodne jseno s projektem, v nem jsou podadresare:</font></div>
          <div><font size="2" face="Arial CE">  - src</font></div>
          <div><font size="2" face="Arial CE">  - include</font></div>
          <div><font size="2" face="Arial CE">  - ld</font></div>
          <div><font size="2" face="Arial CE">  - tmp</font></div>
          <div><font size="2" face="Arial CE">- v adresari projektu je
              jen Makefile, vystup "projekt.elf" a soubor s opisem
              hlasek</font></div>
          <div><font size="2" face="Arial CE">  z prekladu
              "projekt.txt", vcetne vypisu o delce code a data</font></div>
          <div><font size="2" face="Arial CE">- v podadresari tmp jsou
              *.obj, *,lst ke kazdemu modulu, "projekt.map" a
              "projekt.dis",</font></div>
          <div><font size="2" face="Arial CE">  coz je nejkompletnejsi
              mozny disassembler vysledneho projektu, vcetne hexdumpu,</font></div>
          <div><font size="2" face="Arial CE">  tedy veskera informace
              pro pripadne hledani</font></div>
          <div><font size="2" face="Arial CE">- Makefile ma krome
              obvykleho "clean" jeste "clean_tmp", ktery maze pracovni
              soubory,</font></div>
          <div><font size="2" face="Arial CE">  ale ponecha
              "projekt.elf" a <font size="2" face="Arial CE">"projekt.txt".</font></font></div>
          <div> </div>
          <div><font size="2" face="Arial CE">Diky predkompilovanym
              knihovnam je build projektu velmi rychly.</font></div>
          <div><font size="2" face="Arial CE">Na urovni systemu je
              pradnastavena volba -j pro paralelni preklad. Mym cilem</font></div>
          <div><font size="2" face="Arial CE">vzdy je, aby jedno kolo
              preklad+link nikdy netrvalo dele nez 2 sekundy (na Linuxu,
            </font><font size="2" face="Arial CE">kde</font></div>
          <div><font size="2" face="Arial CE">mi soucasne toolchainy,
              natr. pro STM32, chodi vyrazne rychleji nez na Windows).</font></div>
          <div><font size="2" face="Arial CE">Pokud by to melo u hodne
              velkeho projektu trvat dele, je treba se zamyslet a
              rozlozit to.</font></div>
          <div><font size="2" face="Arial CE">Knihovny pouzivam jen
              naprosto minimalne, vetsinu veci si radeji napisu sam a
              vim,</font></div>
          <div><font size="2" face="Arial CE">co a jak tam je. A muzu to
              snadno preportovat jinam.</font></div>
          <div><font size="2" face="Arial CE">Vyjimkou jsou hodne
              komplexni periferie jako USB a Ethernet.</font></div>
          <div><font size="2" face="Arial CE">S verzovacimi SW jsem se
              nikdy neszil (coz povazuji za svou chybu). Takze verzovani</font></div>
          <div><font size="2" face="Arial CE">pomoci pojmenovanych
              *.zip.</font></div>
          <div> </div>
          <div><font size="2" face="Arial CE">PL</font></div>
          <div> </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 moz-do-not-send="true"
                href="mailto:BuFran@seznam.cz">František Burian</a> </div>
            <div style="FONT: 10pt arial"><b>To:</b> <a
                moz-do-not-send="true" 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><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>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>