sl@0: Summary of files in this directory sl@0: ================================== sl@0: sl@0: Commands for developers sl@0: ----------------------- sl@0: sl@0: (these are perl-based, and include a .bat file to merely call the perl). sl@0: sl@0: mmbuild.bat/.pl: Rebuild Multimedia in the current codeline (see below) sl@0: mmbuildrom.bat/.pl: Build a rom, possibly including Multimedia test files (see below) sl@0: sl@0: Commands intended for test builds sl@0: --------------------------------- sl@0: sl@0: fullMmBuild.bat/.pl: Designed to be called from Tools/auto.bat to do full rebuild, as part of test build sl@0: winsMmBuild.bat/.pl: Similar but only build WINS - used for ODC integration sl@0: testExtras.bat: Build those things required by test build but not built by mmbuild sl@0: testExtras_ccov.bat: Similar to testExtras.bat, but for CCover builds sl@0: testExtras_clean.bat: Again similar, but used to remove the associated components sl@0: sl@0: Note that the action carried out is configured by editing the .mbc files of the same name. sl@0: sl@0: Usage of MmBuild and MmBuildRom sl@0: ------------------------------- sl@0: sl@0: 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. sl@0: sl@0: A standard sequence would be: sl@0: sl@0: mmbuild setup // work out which things to build and run bldmake sl@0: mmbuild -t clean // do reallyclean - -t means on test files *too* sl@0: mmbuild build // build main code sl@0: mmbuild -t build // build test code - testframework, unit test etc sl@0: sl@0: [ As an aside, the fullmmbuild command can be used to run the above sequence, as in: sl@0: fullmmbuild.bat -c > bld.log 2>&1 sl@0: where the -c does the clean stage - generally use for the first time you build from that sl@0: area, and leave out subsequently]. sl@0: sl@0: 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". sl@0: sl@0: There are some useful flags to be added to "setup", that change what happens on subsequent build/clean calls: sl@0: -x include "optional" modules sl@0: -i Build/Clean ICL only sl@0: -m Build/Clean MMF only sl@0: sl@0: eg. sl@0: sl@0: mmbuild -x -m setup sl@0: sl@0: Note that mmbuild works by generating some temporary files, so these options only need be given on setup. sl@0: sl@0: MmBuildRom is similarly designed to build the rom. sl@0: sl@0: mmbuildrom -t sl@0: sl@0: will build a rom including all the non-optional multimedia software. sl@0: sl@0: Again there are some useful options: sl@0: -t include test software sl@0: -x include optional modules, and where -t is given, their tests sl@0: -i if -t given, only include icl-unit tests sl@0: -m if -t given, only include mmf-unit tests sl@0: sl@0: sl@0: Configuration files sl@0: ------------------- sl@0: sl@0: 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. sl@0: sl@0: Misc.mbc Main "Misc" modules - potentially ECam sl@0: icl.mbc Main ICL modules sl@0: mmf.mbc Main MMF modules sl@0: sl@0: MiscOpt.mbc/ICLOpt.mbc/MMFOpt.mbc: Optional Misc/ICL/MMF Modules respectively sl@0: sl@0: MiscTest.mbc/ICLTest.mbc/MMFTest.mbc: Main Misc/ICL/MMF test code modules respectively sl@0: sl@0: MiscOptTest.mbc/ICLOptTest.mbc/MMFOptTest.mbc: Optional Misc/ICL/MMF test code modules respectively sl@0: sl@0: mmfNotOptTest.mbc: MMF test code for when mmfOptTest.mbc is not employed (currently mmf-only) sl@0: sl@0: mmfPhys.mbc: What to build for MMF with real targets like MCOT sl@0: mmfPhysOpt.mbc: Optional things to build for real targets sl@0: sl@0: 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. sl@0: sl@0: These .mbc files are intended to be maintained - particularly if new sub-components are added or when they cease to become "optional", etc. sl@0: sl@0: 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. sl@0: sl@0: Temporary files sl@0: --------------- sl@0: sl@0: Please ignore and don't add to perforce sl@0: sl@0: __main.mbc sl@0: __phys.mbc sl@0: __test.mbc sl@0: $NULL