S60 štruktúra projektov

20. 1. 2009 10:30 (aktualizováno) Dušan Beblavý

Naposledy sme si pripravili a otestovali vývojové prostredie a teraz je čas sa pozieť bližšie na testovací projekt ktorý sme vytvorili. Štandardná štruktúra projektu je nasledovná : 

  • Adresár SRC - sú v ňom uložené zdrojové kódy.
  • Adresár INC - sú v ňom uložené hlavičkové súbory.
  • Adresár DATA - obsahuje resources a rss scripty pre ich kompiláciu.
  • Adresár HELP - obsahuje zdrojové scripty pre generovanie helpu aplikácie.
  • Adresár SIS - pri vytvorení projektu obsahuje pkg (package) scripty, ktoré slúžia na generovanie inštalačných sis súborov do telefónu.
  • Adresár GROUP - obsahuje bld.inf súbor, ktorý je definíciou projektu a odkazuje sa na mmp súbory, ktoré sú uložene tiež tu.

Toto je štandardná adresárová štruktúra projektu, ktorá vychádza z definície coding conventions S60. Samozrejme je možné upraviť túto štruktúru ľubovolne a cesty k súborom v mmp súbore projektu. Keďže bld.inf definuje celkový projekt, začnem práve jeho popisom : 

PRJ_PLATFORMS
WINSCW
ARMV5
GCCE
PRJ_MMPFILES
gnumakefile icons_scalable_dc.mk
gnumakefile ..\help\build_help.mk
TestProject.mmp  

Toto je jeden z najjednoduchších vzorov. Súbor vždy obsahuje kĺúčovú direktívu a následne zoznam. Zoznam možu tvoriť súbory, alebo napríklad podporované platformy, alebo príkazy, ktoré sa majú zahrnúť do kompilácie alebo exportu.
Kľúčové direktívy sú :

  •  prj_exports – za ním nasleduje zoznam súborov, ktoré sa majú pri kompilácii hlavného projektu exportovať. Syntax zoznamu je nasledovná :[:zip] source_path_and_filename [destenation_path_and/or_file_name]. V hranatých zátvorkách sú uvedené nepovinné údaje. Pokiaľ je uvedené „:zip“, je očakávaný ako zdrojový súbor zip archív. Pokiaľ nie je uvedená cieľová cesta použije sa epoc32\include. Pokiaľ je uvedená relatívna cesta pri zdrojovom súbore vychádza sa z umiestnenia súboru bld.inf. Pokiaľ je na začiatku cieľovej cesty uvedené písmeno drivu, napríklad mydata.dat e:\appdata\mydata.dat, tak bude súbor prekopírovaný do epoc32\data\e\appdata\my­data.dat. Použité može byť ľubovolné písmeno od A po Z.
  • prj_platforms – za ním nasleduje zoznam podporovaných platform ktoré projekt bude podporovať. Pokiaľ táto sekcia nie je uvedená, použije sa default nastavenie enviromentu. Vo väčšine prípadov táto sekcia slúži na obmedzenie platform ktoré projekt podporuje.
  • prj_testexports – direktíva je veľmi podobná prj_exports, avšak nepodporuje zip a je použitá pri kompilácii testovacieho projektu. Čo je testovací projekt a na aké účely slúži si popíšeme v niektorom z nasledujúcich článkov.
  • prj_mmpfiles – je to najdoležitejšia direktíva použivaná v bld.inf súbore. Obsahuje zoznam, ktorého syntax može byť nasledovná : 
    • mmp_file1 
    • makefile makefile1
    • makefile makefilen
    • nmakefile makefile1
    • nmakefile makefilen
    • gnumakefile makefile1
    • gnumakefile makefile_nPre všetky súbory makefile_x a mmp_files platí, že relatívna cesta sa viaže na umiestnenie bld.inf súboru. Pokiaľ je uvedený len mmp_file, je tento spracovaný štandardne ako projektový súbor. Pokiaľ je použité makefile alebo nmakefile, tak je volané nad súborom nmake. 

      Pokiaľ je použité gnumakefile, tak sa volá nad súborom make.

      V rámci tejto sekcie je možné použiť príkazy predprocesora napr. #define alebo #if defined .
  • prj_testmmpfiles – direktíva podobná prj_mmpfiles, ale definuje zoznam súborov pre testovací projekt. Zoznam môže obsahovať mmp_files a makefiles.

 To by bolo k bld.inf súboru. Aby príspevok nebol zbytočne dlhý štruktúru mmp súboru dam do dalšieho príspevku.

Sdílet