Apollo build code SOP
===================================================================================
[diag shell]
жiJ apollo\internal\apollo\diagShellCygwin

make all   --> build Ҧfile ]t SDK driver + diag shell + unittest ò diag.exe

make sdk        --> ubuild SDK   |librtk.a
make unittest   --> ubuild unittest |libut.a
(unittest ܹeCLE test case)

make shell_tree -->
Yܧ xxx.cli nbuild diag command tree
|call mk_parser.py build X cparser_tree.c P cparser_tree.h
æ۰move   
apollo\sdk\src\app\diag\include\parser\cparser_tree.h
apollo\sdk\src\app\diag\src\parser\cparser_tree.c

make clean   --> @몺make clean



===================================================================================
pW[CLI command
1.W[ xxx.cli  apollo\sdk\src\app\diag\config\xxx.cli
2. apollo\sdk\src\app\diag\config\diag_shell.cli   N xxx.cli include i
3. make shell_tree
4. cparser_tree.h X xxx.cli ҥimplement API
5.create apollo\sdk\src\app\diag\src\diag_xxx.c  file ñN4IAPI implement b̭
6.add diag_xxx.c to apollo\internal\apollo\diagShellCygwin\Makefile
7.use "make all" build X diag.exe


t~ cli command sdk team @sample command Pcode 
Ynimplement iHѦ
apollo\sdk\src\app\diag_reference



===================================================================================
pW[ sdk driver

RTK API 
-- RTK Layer
1.W[ ۹ module RTK API
ex:
apollo\sdk\src\rtk\vlan.c
apollo\sdk\include\rtk\vlan.h

-- DAL Layer
2.W[ ۹ module DAL API
ex:
apollo\sdk\src\dal\apollo\dal_apollo_vlan.c
apollo\sdk\include\dal\apollo\dal_apollo_vlan.h


3.NRTK API PDAL API link _
(1) apollo\sdk\include\dal\dal_mapper.h dal_mapper_t
   W[sAPI
   
(2)  apollo\sdk\src\dal\apollo\dal_apollo_mapper.c dal_apollo_mapper   
   W[sAPI


RAW API
1. W[ ۹ module RAW driver API
ex:
apollo\sdk\src\dal\apollo\raw\apollo_raw_vlan.c
apollo\sdk\include\dal\apollo\raw\apollo_raw_vlan.h

[modify makefile]
--for cygwin
sdk driver  makefile 
apollo\internal\apollo\diagShellCygwin\build\Makefile.rtk
ex:
$(DAL_APOLLO_DIR)/raw/apollo_raw_vlan.o 


Ydiag_xxx.c |call  scoding API or RAW driver
|vT  Linux base system аȥ]PBsHUmake file


--for Linux base system
[b}oХbcygwin }o,YTwL~AJ SoC makefile] 
sdk driver  makefile 
apollo\sdk\build\Makefile.linux.user.rtk
apollo\sdk\build\Makefile.linux.kernel.rtk
бNsW.c file [Jmakefile 



===================================================================================
pbuild unittest

unittest eCLE test case ΨӴdriver g藍

̥DnNntest API g apollo\sdk\unittest\dal\
ex: dal_vlan_test_case.c

sample code аѦ apollo\sdk\unittest_reference\dal ̪file



1.W[ dal_xxx_test_case.c
2. apollo\sdk\unittest\sdk\sdk_test.c  [JAntest item
3.modify make file  apollo\sdk\build\Makefile.linux.user.ut Ndal_xxx_test_case.o [Jmake
4.жiJ apollo\internal\apollo\diagShellCygwin
  Qmake all build Xdiag.exe
5. diag.exe
  zL sdk test oDcommand iHҧAdriver
  
  
[for cygwin]
unittest  makefile 
apollo\internal\apollo\diagShellCygwin\build\Makefile.ut


Ydiagshell.c |call  scoding test case
|vT  Linux base system аȥ]PBsHUmake file


--for Linux base system
[b}oХbcygwin }o,YTwL~AJ SoC makefile] 
sdk driver  makefile 
apollo\sdk\build\Makefile.linux.usr.ut
apollo\sdk\build\Makefile.linux.kernel.ut
бNsW.c file [Jmakefile 






[build code ]
code Ĥ@
make shell_tree
make all

קSDK
    make sdk
קdiag
    make diag
קunittest
    make unittest





