view g23m/system/busyb/unbusy_toolset.xml @ 101:a103d40accc2

l1_func.c: passes compilation, object diffing begins
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Thu, 07 Apr 2016 19:26:29 +0000
parents 509db1a7b7b8
children
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<!-- TOKNOW: to allow clearmake builds for different local installations the pathes to locally installed tools are ommitted -->
<!-- TOKNOW: this means these tools must be found through the PATH environment variable -->
<toolSet description="Tools for a complete build" name="Tools">
  <preambles description="Build config (XML configset file)">
    <preamble>#### contents of the XML configset file (DO NOT CHANGE THIS TEXT!) ####</preamble>
  </preambles>
  <preambles description="Include an exported makefile from ABC">
    <preamble>-include abc_exports.mak</preamble>
  </preambles>
  <preambles description="A rule for the APT input file">
    <preamble>
    apt_file:
	$(shell echo > APT_FILE.tmp)
	$(foreach ELMNT, $(BSB_TARGETS_ALL) $(BSB_SOURCES_ONLY) $(BSB_TOOLS_ALL), $(shell echo -f $(ELMNT) >> APT_FILE.tmp)) 
	$(foreach ELMNT, $(BSB_PROPS_ALL), $(shell echo -p $(ELMNT) >> APT_FILE.tmp))
	$(foreach ELMNT, $(BSB_PATHES_ALL), $(shell echo -d $(ELMNT) >> APT_FILE.tmp))
	@perl gen_apt.pl APT_FILE.tmp
    </preamble>
  </preambles>
  <preambles description="Some variables (not yet) generated by BUSYB" require="BUILD_UTILITIES==1">
    <preamble>###BSB_OUT_MDFS = # filled during makefile post processing</preamble>
    <preamble>###BSB_OUT_PDFS = # filled during makefile post processing</preamble>
  </preambles>
  <preambles description="Environment specific settings">
    <preamble>SHELL = sh # set name of the SHELL executable (effective only for clearmake)</preamble>
    <preamble>BSB_REMOVE = -rm -f # fill some BUSYB generated variable</preamble>
    <preamble>BSB_ECHO = @echo # fill some BUSYB generated variable</preamble>
  </preambles>
  <preambles description="Some rules for directory creation">
    <preamble>allOutDirs: $(BSB_OUT_DIRS_ALL)</preamble>
    <preamble>$(BSB_OUT_DIRS_ALL):;mkdir -p $@</preamble>
  </preambles>
  <tool description="C-Preprocessor" name="C_PP">
    <!-- TOKNOW: command name attribute needed for cmdfile naming -->
    <command description="TI C-Preprocessor" name="pp_ti" require="TOOL_CHOICE==0">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <!-- TOKNOW: inlining options (-x) are already needed during preprocessing -->
        <flag value="-po -p? -x -q" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <supports flag="-@" option="cmdFile" />
      <args template=" [define] [undefine] [include] [ssa_include_var] [source]" require="CMP_MODE != 1" />
      <args template=" -D__DATE__=TMS470_CDS -D__TIME__=TMS470_CTS -D__FILE__=TMS470_CFS [cmdFile [define] [undefine] [include]] [ssa_include_var] [source]" require="CMP_MODE == 1" />
    </command>
    <command description="TI C-Preprocessor" name="pp_ti_2.54" require="TOOL_CHOICE==3">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <!-- TOKNOW: inlining options (-x) doesn't exist in 2.54, _INLINE keyword always defined -->
        <flag value="-ppl -q" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <supports flag="-@" option="cmdFile" />
      <args template="[define] [undefine] [include] [ssa_include_var] [source]" require="CMP_MODE != 1" />
      <args template="-D__DATE__=TMS470_CDS -D__TIME__=TMS470_CTS -D__FILE__=TMS470_CFS [cmdFile [define] [undefine] [include]] [ssa_include_var] [source]" require="CMP_MODE == 1" />
    </command>
  </tool>
  <tool description="C-Compiler" name="CC">
    <command description="TI C-Compiler" name="cc_ti" require="TOOL_CHOICE==0">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <!-- TODO: remove or add -q flag -->
        <flag value="-c -me -mt -o -pw2 -x -mw -q" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pw2 -x -mw -q -g -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <args template=" [define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
    <command description="TI C-Compiler 2.54" name="cc_ti_2.54" require="TOOL_CHOICE==3">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <!-- TODO: remove or add -q flag -->
        <flag value="-c -me -mt -o -pden --align_structs=4 -q -gn" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pden --align_structs=4 -q -gt -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <args template="[define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
  </tool>
  <tool description="C-Compiler with special flags for AUSYSTEM's WAP browser" name="CC_AUS">
    <command description="TI C-Compiler" name="cc_ti_aus" require="TOOL_CHOICE==0">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <flag value="-c -me -mt -o -pw2 -x -mw -pe -q" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pw2 -x -mw -pe -q -g -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
<!--      one AUSYSTEMS file crashes the 1.22e compiler (wipdb.c) and needs special options see gwc.xml -->
      <args template=" [localFlags] [define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
    <command description="TI C-Compiler" name="cc_ti_aus_2.54" require="TOOL_CHOICE==3">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <flag value="-c -me -mt -o -pden --align_structs=4 -q -gn" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pden --align_structs=4 -q -gt -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <args template="[localFlags] [define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
    <command name="LINT" require="LINT==1" description="C source verification tool">
      <executable />
    </command>
  </tool>
  <tool description="C-Compiler with special flags for MIC WAP browser" name="CC_MIC">
    <command description="TI C-Compiler" name="cc_ti_aus" require="TOOL_CHOICE==0">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <flag value="-c -me -mt -o -pw2 -x1 -mw -pe -q" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pw2 -x1 -mw -pe -q -g -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="" option="ssa_include_var" />
      <args template=" [localFlags] [define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
    <command description="TI C-Compiler" name="cc_ti_aus_2.54" require="TOOL_CHOICE==3">
      <executable path="cl470.exe" pathRef="BIN_TOOLS">
        <flag value="-c -me -mt -o -pden --align_structs=4 -q -gn" require="SYMBOLS==0" />
        <flag value="-c -me -mt -pden --align_structs=4 -q -gt -mn" require="SYMBOLS==1" />
      </executable>
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="" option="ssa_include_var" />
      <args template=" [localFlags] [define] [undefine] [include] [ssa_include_var] -fr[dest_dir] [source]" />
    </command>
    <command name="LINT" require="LINT==1" description="C source verification tool">
      <executable />
    </command>
  </tool>
  <tool description="Object librarian, archiver" name="AR" singleRun="yes">
    <command description="TI Archiver" name="ar_ti">
      <executable path="ar470.exe" pathRef="BIN_TOOLS">
        <flag value="r" />
      </executable>
      <args template="[dest] [source*]" />
    </command>
  </tool>
  <tool description="Object linker - chosen depending on a condition" name="LNK_CONDITIONAL" singleRun="yes">
    <command description="Visual Linker" name="VLNK" require="(L1!=9) &amp;&amp; (TOOL_CHOICE==0)">
      <executable />
    </command>
    <command description="TI linker" name="LNK470_ALPHA" require="(L1==9) &amp;&amp; (TOOL_CHOICE==0)">
      <executable />
    </command>
    <command description="Dummy command" name="DUMMY_LNK" require="(L1!=9) &amp;&amp; (TOOL_CHOICE==30)">
      <executable />
    </command>
    <command description="TI linker 2.54" name="LNK470_2.54" require="TOOL_CHOICE==3">
      <executable />
    </command>
  </tool>
  <tool description="TI linker 2.54" name="LNK470_2.54" singleRun="yes">
    <command description="TI standard linker 2.54" name="lnk470_2.54">
      <executable path="lnk470.exe" pathRef="BIN_TOOLS">
        <flag value="-x --large_model -w -wr -priority" />
      </executable>
      <args template="-o [dest] -m [dest.map] [source*]" />
    </command>
  </tool>
  <tool description="TI linker (alpha)" name="LNK470_ALPHA" singleRun="yes">
    <command description="TI standard linker (alpha)" name="lnk470_alpha">
      <executable path="lnk470_alpha.exe" pathRef="BIN_TOOLS">
        <flag value="--large_model -x" />
      </executable>
      <args template="-o [dest] -m [dest.map] [source*]" />
    </command>
  </tool>
  <tool description="Visual linker" name="VLNK" singleRun="yes">
    <command description="links an executable" name="vlnk_ti">
      <executable path="vlnk470" pathRef="LINK_TOOLS">
        <flag value="-farcall -x" />
      </executable>
      <!--
        This is neccessary to cope with the horrible behavior of the visual linker.
        It is neccessary that only the linker command file (%.lcf) does not contain any slash
        but only backslashes. All the other targets (the libs) must not contain double
        backslashes.
      -->
      <args template="-o [dest] -m [dest.map] $(filter-out %.cmd,[source*]) $(subst /,||, $(filter %.cmd,[source*]))" />
    </command>
  </tool>
  <tool description="Dummy command" name="DUMMY_LNK">
    <command description="Dummy command" name="dummy_lnk">
      <executable path="@echo" />
      <args template="" />
    </command>
  </tool>
  <tool description="COFF/Hex Converter" name="HEX">
    <command description="TI COFF/Hex Converter" name="hex_ti" require="TOOL_CHOICE!=30">
      <executable path="hex470" pathRef="BIN_TOOLS" />
      <args template="-m -memwidth 16 -romwidth 16 -o [dest] [source]" />
    </command>
    <command description="Dummy command" name="dummy_hex" require="TOOL_CHOICE==30">
      <executable path="@echo" />
      <args template="" />
    </command>
  </tool>
  <tool description="Creates Windows CE *.bin file for Avenger2/Perseus1" name="OUT2BIN_AV2">
    <command description="Converts a CCS *.out file to a Windows CE *.bin file." name="out2bin_av2">
      <executable path="out2bin.pl" pathRef="G23" toolRef="PERL" />
      <args template="[source] 80000000 -i" />
    </command>
  </tool>
  <tool description="Creates Windows CE *.bin file for P2-Sample" name="OUT2BIN_P2">
    <command description="Converts a CCS *.out file to a Windows CE *.bin file, producing also a *.raw file for PrepFlashImg." name="out2bin_p2">
      <executable path="out2bin.pl" pathRef="CHIPSETSW_SYSTEM" toolRef="PERL" />
      <args template="[source] 81E00000 -i -r" />
    </command>
  </tool>
  <tool description="Creates SysBoot *.syb file for P2-Sample" name="PREPFLASHIMG_P2">
    <command description="Converts a *.raw file to a SysBoot *.syb file." name="prepflashimg">
      <executable path="prepflashimg.exe" pathRef="WCP_SYSBOOT_TOOLS" />
      <!-- TOKNOW: IMAGE.raw is a by-product of 'OUT2BIN_P2' above and is _not_ tracked with proper dependencies,
      	i.e. BuSyB doesn't know anything about it -->
      <args template="$(subst .bin,.raw,[source]) -bin:[dest] -addr:0x01E00000 -type:GSM" />
    </command>
  </tool>
  <tool description="Trace Compressor" name="STR2IND">
    <command description="Condat Trace Compressor" name="str2ind_condat">
      <executable path="str2ind.exe" pathRef="GPF_BIN">
        <flag value="" require="CMP_MODE == 1" />
        <flag value="-a" require="CMP_MODE != 1" />
      </executable>
      <supports flag="-t" option="table_file" />
      <supports flag="-l" option="log_file" />
      <supports flag="-v" option="version_file" />
      <args template="[table_file] [log_file] [version_file] -f [source]" />
    </command>
  </tool>
  <tool description="Compiler Tool Chain (C_PP, STR2IND, CC)" name="PP_STR2IND_CC">
    <command description="1. pre-process" name="C_PP">
      <executable />
    </command>
    <command description="1a. save cmd and pp files" name="SAVE_FILES" require="CMP_MODE == 1">
      <executable />
      <args template="[dest.cl470cmd] [source.pp]" />
    </command>
    <command description="2. compress" name="STR2IND">
      <executable />
      <args template="[table_file] [log_file] [version_file] -f [source.pp]" />
    </command>
    <command description="3. compile" name="CC">
      <executable />
      <args template="-fr[dest_dir] [source.pp_]" />
    </command>
    <command description="4. remove *.pp and *.pp_ files" name="RM">
      <executable />
      <args template="[source.pp] [source.pp_]" />
    </command>
  </tool>
  <tool description="Conditional Compilation Process" name="CC_CONDITIONAL">
    <command description="compile only" name="CC" require="NTRC != 4">
      <executable />
    </command>
    <command description="pre-process, compress, compile" name="PP_STR2IND_CC" require="NTRC == 4">
      <executable />
    </command>
    <command name="LINT" require="LINT==1" description="C source verification tool">
      <executable />
    </command>
  </tool>
  <tool description="Winword to Text Converter" name="DOC2TXT">
    <command description="Saves a Winword document as Text" name="doc2txt_gpl">
      <executable path="doc2txt.exe" pathRef="GPF_TOOLS">
        <flag value="-O -w -f wdFormatText" />
      </executable>
      <args template="[source]" />
    </command>
  </tool>
  <tool description="CCD table generator" name="CCDGEN" singleRun="yes">
    <command description="0. create the output directory" name="MKDIR" modifier="@">
      <executable/>
      <supports flag="" option="cdgincdir_tools"/>
      <supports flag="" option="str2inddir"/>
      <args template="[dest_dir] [cdgincdir_tools] [str2inddir]"/>
    </command>
    <command description="1. Generates CCD tables and include files from PDF/MDF for TARGET" name="ccdgen_target">
      <executable path="ccdgen.exe" pathRef="GPF_BIN">
        <flag value="-h -m512 -a2"/>
      </executable>
      <supports flag="-i" option="ccdgenff" />
      <supports flag="-o" option="cdgincdir" />
      <supports flag="-R" option="cmdFile" />
      <args template="[ccdgenff] [cdgincdir] [cmdFile [source*]]" />
    </command>
    <command description="Generates CCD tables and include files from PDF/MDF for TOOLS" name="ccdgen_tools">
      <executable path="ccdgen.exe" pathRef="GPF_BIN">
        <flag value="-s -t -h -m512 -a2"/>
      </executable>
      <supports flag="-i" option="ccdgenff"/>
      <supports flag="-o" option="cdgincdir_tools"/>
      <supports flag="-R" option="cmdFile"/>
      <args template="[ccdgenff] [cdgincdir_tools] [cmdFile [source*]]"/>
    </command>
  </tool>
  <tool description="Message/Primitive Description File Generator" name="XGEN">
    <command description="Generates MDF/PDF files from SAPs/MSGs" name="xgen_condat">
      <executable path="xGen100.exe" pathRef="GPF_BIN" />
      <supports flag="" option="msg_or_sap" />
      <args template="[msg_or_sap] [source] [source.err] [source.log] [dest] I" />
    </command>
  </tool>
  <tool description="MDF/PDF Tool Chain (DOC2TXT, XGEN)" name="DOC2TXT_XGEN">
    <command description="1. save as text" name="DOC2TXT">
      <executable />
    </command>
    <command description="2. generate MDF/PDF" name="XGEN">
      <executable />
      <supports flag="" option="msg_or_sap" />
      <args template="[msg_or_sap] [source.txt] [source.err] [source.log] [dest] I" />
    </command>
  </tool>
  <tool description="ASN1 to MDF" name="ASN1_TO_MDF" singleRun="yes">
    <command description="Generates MDF files from a ASN1/ABB source" name="asn1_to_mdf_command">
      <executable path="asn1_to_mdf.exe" pathRef="GPF_BIN" />
      <args template="-i [source_dir] -o [dest_dir] $(notdir [source])" />
      <!-- the *.abb file is loaded implictly so [source*] is not necessary -->
    </command>
  </tool>
  <tool description="Remove" name="RM">
    <command description="removes a file" name="rm_condat" modifier="@-">
      <executable path="rm.exe" pathRef="GPF_TOOLS" />
    </command>
  </tool>
  <!-- TOKNOW: this tool chain is based on the assumption, that object files are placed exactly
       in the same directory as the corresponding dependency files -->
  <tool description="recursive MKDIR" name="MKDIR">
    <command description="creates a directory" name="mkdir_condat">
      <executable path="gmkdir.exe" pathRef="GPF_TOOLS">
        <flag value="-p" />
      </executable>
    </command>
  </tool>
  <tool description="C Pre-Processor" name="GNU_CPP">
    <command description="MINGW C Pre-Processor" name="GNU_CPP">
      <executable path="cpp.exe">
        <flag value="-D_TMS470 -UWIN32 -U_WIN32 -U__WIN32__" require="BUILD_UTILITIES==0" />
      </executable>
    </command>
  </tool>
  <tool description="MAKEDEPEND Tool Chain" name="MAKEDEPEND">
    <command description="1. create the dependency file" name="GNU_CPP" modifier="-">
      <executable />
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <!-- TOKNOW: to avoid errors we let CPP generate a .dep which is then changed to a .d file
          otherwise pre-processing errors would result in an empty .d file which would
          never be updated -->
      <args template="[define] [undefine] -nostdinc [include] [ssa_include_var] [source] -MM -MG -MF [dest.dep]" />
    </command>
    <command description="2. modify the dependency file" name="MKDEP" modifier="-">
      <executable />
      <args template="[dest.dep] ~ifeq ($(MAKEDEPEND), 1) ~-include [dest] ~endif" />
    </command>
  </tool>
<!-- Perl Scripts and Perl itself come next -->
  <tool description="Perl Interpreter" name="PERL">
    <command description="Perl" name="perl">
      <executable path="perl"></executable>
    </command>
  </tool>
  <tool description="Create version file" name="MAKE_VERSION_FILE" singleRun="yes">
    <command description="Creates a C file containing version information" name="makeversion_condat">
      <executable path="make_ver.pl" pathRef="TOOLS" toolRef="PERL"></executable>
      <args template="[dest] [source]" />
    </command>
  </tool>
  <tool description="Create linker command file" name="MAKE_LNKCMD_FILE" singleRun="yes">
    <command description="Creates a linker commend file from a template" name="lcfgen">
      <executable path="make_cmd.pl" pathRef="TOOLS" toolRef="PERL"></executable>
      <supports flag="" option="cmdFile" />
      <supports flag="" option="memory_location" />
      <supports flag="" option="tool_choice" />
<!--      <args template="[cmdFile [memory_location]] [dest] [source*]"/>  -->
      <args template="[cmdFile [memory_location]] [dest] [tool_choice] $+" />
    </command>
  </tool>
  <tool description="Modify the dependency file" name="MKDEP">
    <command description="Modify a dependency file created by CPP" name="mkdep">
      <executable path="make_dep.pl" pathRef="TOOLS" toolRef="PERL"></executable>
    </command>
  </tool>
  <tool description="save cmd and pp files" name="SAVE_FILES">
    <command description="save cmd and pp files" name="save_files">
      <executable path="save_files.pl" pathRef="TOOLS" toolRef="PERL"></executable>
    </command>
  </tool>
  <!-- Microsoft tools -->
  <tool description="C-Compiler" name="MS_CC">
    <command description="MS C-Compiler" name="ms_cc">
      <executable path="cl.exe">
        <flag value="/nologo /c /W3 /Zp1" />
      </executable>
      <supports flag="/D" option="define" />
      <supports flag="/U" option="undefine" />
      <supports flag="/I" option="include" />
      <supports flag="" option="tdc_flags" />
      <args template="[tdc_flags] [define] [undefine] [include] /Fo[dest_dir]/ /MD [source]" />
    </command>
    <command name="LINT" require="LINT==1" description="C source verification tool">
      <executable />
    </command>
  </tool>
  <tool description="Object linker (DLL)" name="MS_LNK_DLL" singleRun="yes">
    <command description="MS standard linker" name="ms_lnk">
      <executable path="link">
        <flag value="/nologo /dll" />
      </executable>
      <supports flag="/IMPLIB:" option="implib_flags" />
      <args template="/OUT:[dest] /DEF:$(filter %.def,[source*]) [implib_flags] /COMMENT:BUSYB_GENERATED_DLL $(filter-out %.def,[source*])" />
    </command>
  </tool>
  <tool description="Object linker" name="MS_LNK" singleRun="yes">
    <command description="MS standard linker" name="ms_lnk">
      <executable path="link">
        <flag value="/lib /nologo" />
      </executable>
      <args template="/OUT:[dest] [source*]" />
    </command>
  </tool>
<!-- java tools -->
<!-- TODO: integration of JAVA and XALAN is somewhat unclean - it is necessary to explicitely specify the path in a number of places :( -->
  <tool description="Java Interpreter + xalan" name="XALAN">
    <command description="Java + xalan" name="xalan">
      <executable path="java">
<!-- TODO: these explicit pathes (../gpf/...) in <flag> must be replaced pathrefs -->      
        <flag value="-Xbootclasspath/p:&quot;../gpf/tools/lib/java/xalan.jar;../gpf/tools/lib/java/xml-apis.jar;../gpf/tools/lib/java/xercesImpl.jar&quot; -classpath ../gpf/tools/lib/java/xalan-ext.jar org.apache.xalan.xslt.Process -xsl" />
      </executable>
    </command>
  </tool>
  <tool description="Create pdf file" name="XALAN_2PDF">
    <command description="Creates a ti pdf format file containing sap information" name="xalan_2pdf">
      <executable path="2pdf.xsl" pathRef="GPF_2MDFPDF" toolRef="XALAN"></executable>
      <supports flag="" option="sapdir" />
      <supports flag="" option="aimdir" />
      <args template="-in [source] -out [dest] -param sapPath [sapdir]\ -param aimPath [aimdir]\" />
    </command>
  </tool>
  <tool description="Create pdf file" name="XALAN_2MDF">
    <command description="Creates a ti mdf format file containing aim information" name="xalan_2mdf">
      <executable path="2mdf.xsl" pathRef="GPF_2MDFPDF" toolRef="XALAN"></executable>
      <supports flag="" option="sapdir" />
      <supports flag="" option="aimdir" />
      <args template="-in [source] -out [dest] -param sapPath [sapdir]\ -param aimPath [aimdir]\" />
    </command>
  </tool>
  <!-- BEGIN OF TI TOOLS SECTION -->
  <tool description="C/C++ Compiler or Lint" name="CC2">
    <command description="TI C/C++ Compiler" name="cc_ti" require="(RVTOOL==0) &amp;&amp; (TOOL_CHOICE!=30)">
      <executable path="cl470" pathRef="BIN_TOOLS" />
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="" option="c_options" />
      <args template="[c_options] [define] [undefine] [include] -fr[dest_dir] [source]" require="TOOL_CHOICE!=3" />
      <args template="[c_options] [define] [undefine] [include] -fr=[dest_dir] [source]" require="TOOL_CHOICE==3" />
    </command>
    <command description="Lint" name="lint" require="LINT==1 &amp;&amp; (RVTOOL==0) &amp;&amp; (TOOL_CHOICE==30)">
      <executable path="lint-nt" pathRef="GPF_TOOLS" />
      <supports flag="-I" option="include" />
      <supports flag="-D" option="define" />
      <supports flag="" />
      <args template="[include] [define] +os'('lint_report.txt')' -zero -e537 -e659 -hf1 -width'('0')' -w2 -ss2 -sl4 -sf4 -sd8 -sld8 -sp4 [source]" />
    </command>
    <command description="MS C/C++ Compiler" name="ms_cc" require="RVTOOL==1">
      <executable path="cl.exe" />
      <supports flag="/D" option="define" />
      <supports flag="/U" option="undefine" />
      <supports flag="/I" option="include" />
      <supports flag="" option="c_options" />
      <args template="[c_options] [define] [undefine] [include] /Fo[dest_dir]/ [source]" />
    </command>
    <command name="LINT" description="C source verification tool" require="(OP_L1_STANDALONE==0) &amp;&amp; (LINT==1)">
      <executable />
    </command>
  </tool>
  <tool description="Object librarian, archiver" name="AR2" singleRun="yes">
    <command description="TI Archiver" name="ar_ti" require="(RVTOOL==0) &amp;&amp; (TOOL_CHOICE!=30)">
      <executable path="ar470" pathRef="BIN_TOOLS">
        <flag value="r" />
      </executable>
      <args template="[dest] [source*]" />
    </command>
    <command description="Dummy command" name="dummy_cmd" require="(RVTOOL==0) &amp;&amp; (TOOL_CHOICE==30)">
      <executable path="@echo" />
      <args template="" />
    </command>
    <command description="MS Archiver" name="ms_ar" require="RVTOOL==1">
      <executable path="link.exe">
        <flag value="/lib /nologo" />
      </executable>
      <args template="/OUT:[dest] [source*]" />
    </command>
  </tool>
  <tool description="Object librarian, archiver" name="LNK2" singleRun="yes">
    <command description="TI Linker" name="LNK_CONDITIONAL" require="RVTOOL==0">
      <executable />
    </command>
    <command description="MS Linker" name="ms_lnk" require="RVTOOL==1">
      <executable path="link.exe">
        <flag value="/nologo /subsystem:windows /pdbtype:sept /debug /machine:I386 /incremental:yes winmm.lib ws2_32.lib /nodefaultlib:MSVCRTD.lib " />
      </executable>
      <supports flag="/IMPLIB:" option="implib_flags" />
      <args template="/pdb:[dest.pdb] /map:[dest.map] /libpath:[dest_dir]/../lib /OUT:[dest] [implib_flags] $(filter-out %.def,[source*])" />
  </command>
  </tool>
  <tool description="C Pre-Processor" name="GNU_GCC">
    <command description="C Pre-Processor" name="GNU_GCC">
      <executable path="gcc" />
    </command>
  </tool>
  <tool description="MAKEDEPEND Tool Chain" name="MAKEDEPEND2">
    <command description="1. create the dependency file" name="GNU_GCC" modifier="-">
      <executable />
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <!-- TOKNOW: to avoid errors we let CPP generate a .dep which is then changed to a .d file
          otherwise pre-processing errors would result in an empty .d file which would
          never be updated -->
      <args template="-MM [define] [undefine] [include] [ssa_include_var] [source] -o [dest.dep]" />
    </command>
    <command description="2. modify the dependency file" name="MKDEP" modifier="-">
      <executable />
      <args template="[dest.dep] ~ifeq ($(MAKEDEPEND), 1) ~-include [dest] ~endif" />
    </command>
  </tool>
  <tool description="Assembler" name="ASM2">
    <command description="TI Assembler" name="asm_ti" require="TOOL_CHOICE==0">
      <executable path="asm470" pathRef="BIN_TOOLS" />
      <supports flag="-d" option="define" />
      <supports flag="" option="asm_options" />
      <args template="[asm_options] [define] [source] [dest]" />
    </command>
    <command description="TI Assembler" name="asm_ti" require="TOOL_CHOICE==3">
    <!-- asm470 cannot be used with debug -->
      <executable path="cl470" pathRef="BIN_TOOLS" />
      <supports flag="-d" option="define" />
      <supports flag="" option="asm_options" />
      <args template="[asm_options] [define] -fr=[dest_dir] [source]" />
    </command>
    <command description="TI Assembler" name="asm_ti" require="TOOL_CHOICE==30">
      <executable path="@echo" />
      <args template="" />
    </command>
  </tool>
  <tool description="Resources (RES)" name="RC">
    <command description="Windows 32 Resource Compiler" name="rc">
      <executable path="rc.exe">
        <flag value="/l 0x409 /d _DEBUG" />
      </executable>
      <supports flag="/i" option="include" />
      <args template="[include] /fo[dest] [source]" />
    </command>
  </tool>
  <tool description="Generate target file" name="FFS_MAKETARGET" singleRun="yes">
    <command description="Generate ffs_target.c file from ffs.c file" name="maketarget">
    <!-- perl -w $(DRIVERS_APP_DIR)/ffs/board/mktarget.pl ../drivers/drv_app/ffs/board $(TEMPORARY_FILE_DIR)/drivers/drv_app/ffs/board -->
      <executable path="perl"></executable>
      <args template=" -w [source_dir]/mktarget.pl [source_dir] [dest_dir]" />
    </command>
  </tool>
  <tool description="'intram' files generation" name="GEN_INTRAM" singleRun="yes">
    <command description="TI Perl script to convert .c -&gt; .intram" name="gen_intram">
      <executable path="gen_intram.pl" pathRef="TOOLS_DIR" toolRef="PERL" />
      <args template="[source]" />
    </command>
  </tool>
  <tool description="Header File Generator" name="VERIFY_TARGET_FILE">
    <command description="" name="VERIFY_TARGET_FILE">
      <executable pathRef="TOOLS" path="verify_target_file.pl" toolRef="PERL">
        <flag value="tempfile 1" />
        <!-- see verify_target_file.pl for parameters -->
      </executable>
    </command>
  </tool>
  <tool description="Header Files Generator" name="VERIFY_TARGET_FOLDER">
    <command description="" name="VERIFY_TARGET_FOLDER">
      <executable pathRef="TOOLS" path="verify_target_folder.pl" toolRef="PERL">
        <flag value="tempfolder" />
        <!-- see verify_target_folder.pl for parameters -->
      </executable>
    </command>
  </tool>
  <tool name="CFG_GEN" description=".cfg files generation" singleRun="true">
    <command require="" name="cfg_gen" description="tool command" modifier="@">
      <executable pathRef="TOOLS" path="cfg_gen.pl" toolRef="VERIFY_TARGET_FOLDER" />
      <supports require="" option="cfg_gen" flag="" />
      <args require="" template="[dest_dir] [cfg_gen]" />
    </command>
  </tool>
  <tool name="HEADER_GEN_RV_SWE" description="rv_swe.h generation" singleRun="true">
    <command require="" name="header_gen" description="description" modifier="@">
      <executable pathRef="TOOLS" path="header_gen.pl" toolRef="VERIFY_TARGET_FILE" />
      <supports require="" option="header_gen" flag="" />
      <args require="" template="rv_swe [dest] [header_gen]" />
    </command>
  </tool>  
  <tool name="HEADER_GEN_RV_TEST_INC" description="rv_test_inc.h generation" singleRun="true">
    <command require="" name="header_gen" description="description" modifier="@">
      <executable pathRef="TOOLS" path="header_gen.pl" toolRef="VERIFY_TARGET_FILE" />
      <supports require="" option="header_gen" flag="" />
      <args require="" template="rv_test_inc [dest] [header_gen]" />
    </command>
  </tool>  
  <tool name="HEADER_GEN_RV_TEST_EXEC_LEVEL" description="rv_test_exec.h generation" singleRun="true">
    <command require="" name="header_gen" description="description" modifier="@">
      <executable pathRef="TOOLS" path="header_gen.pl" toolRef="VERIFY_TARGET_FILE" />
      <supports require="" option="header_gen" flag="" />
      <args require="" template="rv_test_exec_level [dest] [header_gen]" />
    </command>
  </tool>  
  <!-- END OF TI TOOLS SECTION -->
  <!-- autoinclude section toolset 0 begin -->
  <!-- autoinclude section toolset 0 end -->
  <tool name="LINT" description="C source verification tool">
    <command name="lint" description="description" modifier="@">
      <executable pathRef="GPF_TOOLS" path="lint-nt.exe" />
      <supports flag="-D" option="define" />
      <supports flag="-U" option="undefine" />
      <supports flag="-I" option="include" />
      <supports flag="-I" option="ssa_include_var" />
      <args template=" system/std.lnt [define] [undefine] [include] [ssa_include_var] [source]" />
    </command>
  </tool>
</toolSet>