os/mm/mmtestenv/mmtesttools/Build/readme.txt
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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