imagingtestenv/imagingtesttools/Build/readme.txt
author hgs
Fri, 22 Oct 2010 10:31:17 +0530
changeset 6 d5507cf6801c
parent 0 5752a19fdefe
permissions -rw-r--r--
201037_01

Summary of files in this directory
==================================

Commands for developers
-----------------------

(these are perl-based, and include a .bat file to merely call the perl).

mmbuild.bat/.pl: Rebuild Multimedia in the current codeline (see below)
mmbuildrom.bat/.pl: Build a rom, possibly including Multimedia test files (see below)

Commands intended for test builds
---------------------------------

fullMmBuild.bat/.pl: Designed to be called from Tools/auto.bat to do full rebuild, as part of test build
winsMmBuild.bat/.pl: Similar but only build WINS - used for ODC integration
testExtras.bat: Build those things required by test build but not built by mmbuild
testExtras_ccov.bat: Similar to testExtras.bat, but for CCover builds
testExtras_clean.bat: Again similar, but used to remove the associated components

Note that the action carried out is configured by editing the .mbc files of the same name.

Usage of MmBuild and MmBuildRom
-------------------------------

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.

A standard sequence would be:

	mmbuild setup 		// work out which things to build and run bldmake
	mmbuild -t clean	// do reallyclean - -t means on test files *too*
	mmbuild build 		// build main code
	mmbuild -t build	// build test code - testframework, unit test etc

[ As an aside, the fullmmbuild command can be used to run the above sequence, as in:
	 fullmmbuild.bat -c > bld.log 2>&1
  where the -c does the clean stage - generally use for the first time you build from that
  area, and leave out subsequently].

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". 

There are some useful flags to be added to "setup", that change what happens on subsequent build/clean calls:
	-x	include "optional" modules
	-i	Build/Clean ICL only
	-m	Build/Clean MMF only

eg.

	mmbuild -x -m setup

Note that mmbuild works by generating some temporary files, so these options only need be given on setup.

MmBuildRom is similarly designed to build the rom. 

	mmbuildrom -t

will build a rom including all the non-optional multimedia software.

Again there are some useful options:
	-t	include test software 
	-x	include optional modules, and where -t is given, their tests
	-i	if -t given, only include icl-unit tests
	-m	if -t given, only include mmf-unit tests


Configuration files
-------------------

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.

Misc.mbc	Main "Misc" modules - potentially ECam
icl.mbc		Main ICL modules
mmf.mbc		Main MMF modules

MiscOpt.mbc/ICLOpt.mbc/MMFOpt.mbc: Optional Misc/ICL/MMF Modules respectively

MiscTest.mbc/ICLTest.mbc/MMFTest.mbc: Main Misc/ICL/MMF test code modules respectively

MiscOptTest.mbc/ICLOptTest.mbc/MMFOptTest.mbc: Optional Misc/ICL/MMF test code modules respectively

mmfNotOptTest.mbc: MMF test code for when mmfOptTest.mbc is not employed (currently mmf-only)

mmfPhys.mbc: What to build for MMF with real targets like MCOT
mmfPhysOpt.mbc: Optional things to build for real targets

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.

These .mbc files are intended to be maintained - particularly if new sub-components are added or when they cease to become "optional", etc.

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.

Temporary files
---------------

Please ignore and don't add to perforce

__main.mbc
__phys.mbc
__test.mbc
$NULL