imagingtestenv/imagingtesttools/Build/readme.txt
changeset 0 5752a19fdefe
equal deleted inserted replaced
-1:000000000000 0:5752a19fdefe
       
     1 Summary of files in this directory
       
     2 ==================================
       
     3 
       
     4 Commands for developers
       
     5 -----------------------
       
     6 
       
     7 (these are perl-based, and include a .bat file to merely call the perl).
       
     8 
       
     9 mmbuild.bat/.pl: Rebuild Multimedia in the current codeline (see below)
       
    10 mmbuildrom.bat/.pl: Build a rom, possibly including Multimedia test files (see below)
       
    11 
       
    12 Commands intended for test builds
       
    13 ---------------------------------
       
    14 
       
    15 fullMmBuild.bat/.pl: Designed to be called from Tools/auto.bat to do full rebuild, as part of test build
       
    16 winsMmBuild.bat/.pl: Similar but only build WINS - used for ODC integration
       
    17 testExtras.bat: Build those things required by test build but not built by mmbuild
       
    18 testExtras_ccov.bat: Similar to testExtras.bat, but for CCover builds
       
    19 testExtras_clean.bat: Again similar, but used to remove the associated components
       
    20 
       
    21 Note that the action carried out is configured by editing the .mbc files of the same name.
       
    22 
       
    23 Usage of MmBuild and MmBuildRom
       
    24 -------------------------------
       
    25 
       
    26 MmBuild is intended to be a central place where any developer can rebuild the whole of the codeline, essentially as the test build - and thus similarly to the overnight build.
       
    27 
       
    28 A standard sequence would be:
       
    29 
       
    30 	mmbuild setup 		// work out which things to build and run bldmake
       
    31 	mmbuild -t clean	// do reallyclean - -t means on test files *too*
       
    32 	mmbuild build 		// build main code
       
    33 	mmbuild -t build	// build test code - testframework, unit test etc
       
    34 
       
    35 [ As an aside, the fullmmbuild command can be used to run the above sequence, as in:
       
    36 	 fullmmbuild.bat -c > bld.log 2>&1
       
    37   where the -c does the clean stage - generally use for the first time you build from that
       
    38   area, and leave out subsequently].
       
    39 
       
    40 By default, build runs through WINS, WINSCW, ARM4 and MCOT - for MCOT only the DevSound and device driver layers are built. You can give the target to build instead, just as you want with "abld build", except that it is not possible to only build udeb or urel. For EKA2, where WINS is not build as part of the DevBuild, the WINS stage is just an "export". 
       
    41 
       
    42 There are some useful flags to be added to "setup", that change what happens on subsequent build/clean calls:
       
    43 	-x	include "optional" modules
       
    44 	-i	Build/Clean ICL only
       
    45 	-m	Build/Clean MMF only
       
    46 
       
    47 eg.
       
    48 
       
    49 	mmbuild -x -m setup
       
    50 
       
    51 Note that mmbuild works by generating some temporary files, so these options only need be given on setup.
       
    52 
       
    53 MmBuildRom is similarly designed to build the rom. 
       
    54 
       
    55 	mmbuildrom -t
       
    56 
       
    57 will build a rom including all the non-optional multimedia software.
       
    58 
       
    59 Again there are some useful options:
       
    60 	-t	include test software 
       
    61 	-x	include optional modules, and where -t is given, their tests
       
    62 	-i	if -t given, only include icl-unit tests
       
    63 	-m	if -t given, only include mmf-unit tests
       
    64 
       
    65 
       
    66 Configuration files
       
    67 -------------------
       
    68 
       
    69 The following .mbc files are used by mmbuild to determine what is built, eg. so it knows what is the main ICL code, what is optional, and what is test.
       
    70 
       
    71 Misc.mbc	Main "Misc" modules - potentially ECam
       
    72 icl.mbc		Main ICL modules
       
    73 mmf.mbc		Main MMF modules
       
    74 
       
    75 MiscOpt.mbc/ICLOpt.mbc/MMFOpt.mbc: Optional Misc/ICL/MMF Modules respectively
       
    76 
       
    77 MiscTest.mbc/ICLTest.mbc/MMFTest.mbc: Main Misc/ICL/MMF test code modules respectively
       
    78 
       
    79 MiscOptTest.mbc/ICLOptTest.mbc/MMFOptTest.mbc: Optional Misc/ICL/MMF test code modules respectively
       
    80 
       
    81 mmfNotOptTest.mbc: MMF test code for when mmfOptTest.mbc is not employed (currently mmf-only)
       
    82 
       
    83 mmfPhys.mbc: What to build for MMF with real targets like MCOT
       
    84 mmfPhysOpt.mbc: Optional things to build for real targets
       
    85 
       
    86 It should be noted that the definition of "optional" v. "non-optional" is whether it is part of the current "standard" build - rather than whether a module is theorectically optional or not.
       
    87 
       
    88 These .mbc files are intended to be maintained - particularly if new sub-components are added or when they cease to become "optional", etc.
       
    89 
       
    90 testExtras.mbc and testExtras_ccov.mbc support the associated .bat files. They build test programs such as tmdavid, tmdaaud and timageviewer. They might also need maintaining if things change.
       
    91 
       
    92 Temporary files
       
    93 ---------------
       
    94 
       
    95 Please ignore and don't add to perforce
       
    96 
       
    97 __main.mbc
       
    98 __phys.mbc
       
    99 __test.mbc
       
   100 $NULL