Windows CE 6.0 R3 Build System Series – 8. cebuild.bat e sysgen.bat : il cuore del build

Con questo articolo si conclude l’analisi approfondita dei tool che costituiscono il sistema di build, rimandando altri eventuali approfondimenti alla documentazione ufficiale Microsoft su Windows CE 6.0 R3.

Non ci resta che analizzare i tool che costituiscono il cuore del sistema di build, ossia ilcebuild.bat ed il sysgen.bat che sono strettamente correlati tra loro, in quanto il primo invoca più volte il secondo per eseguire le fasi di Sysgen prima e Build poi. Per questo motivo, l’analisi è riferita principalmente al cebuild.

Sysgen

In primo luogo essa cancella tutti i file di log (build.log, build.wrn e build.err) che vengono creati nella %_WINCEROOT% ed esegue il parsing degli argomenti ricevuti dal blddemo.bat, attraverso i quali setta le seguenti variabili :

  • parametro –r –> WINCEREL;
  • parametro ––> __QBLDLOCAL = 1;
  • parametro –q –> __QBLDQUICK = 1;
  • parametro –c –> __QBLDCLEAN = –c;
  • parametro –d<deptree_entry> –> costruisce la __QBLDNEWDEPTREES a partire dalla _DEPTREES;
  • parametro –qbsp –> __QBLDQUICKBSP = 1 (esegue il build e sysgen solo della BSP e non dell’intero _DEPTREES);

Se la __QBLDQUICKBSP non è stata settata, deve essere eseguita la fase di Sysgen sull’intero _DEPTREES e viene invocato ciclicamente il cebldtree.bat per ogni directory presente nel _DEPTREES. A partire dal cebldtree, viene lanciato il build.exe per eseguire la compilazione, se necessario, dei componenti delle directory PRIVATE e PUBLIC.

1258.cebuild2_5DC72E7D

Successivamente viene invocato il sysgen.bat, il quale attraverso l’utilizzo al suo interno delcesysgen.bat permette l’esecuzione del file .bat associato al progetto della directory del _DEPTREES ricevuta in ingresso, in modo che vengano settate le Sysgen Variable corrispondenti.

7206.cebuild1_697C75AF

Post-Sysgen Buld (BSP e Subproject)

Al termine della fase di Sysgen per tutti i progetti del _DEPTRESS, si passa alla fase di build della BSP e dei sottoprogetti eseguita allo stesso modo.

Viene invocato il SysgenPlatform fornendo come parametro la %_TARGETPLATROOT% e successivamente il build.exe per eseguire la compilazione dei componenti della BSP.

Inoltre, per ogni sottoprogetto dell’OS Design viene lanciato il ProjSysgen.bat. L’elenco dei sottoprogetti sui cui eseguire tale azione è descritto attraverso la variabile %_USER_SYSGEN_BAT_FILES, definita in fase di inizializzazione del sistema di build.

Infine, come estensione del processo di build, viene verificata l’esistenza di un eventuale codice sorgente custom e quindi compilato.

5141.cebuild3_7AECD687

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s