<!--****************************************************************************
 * This is Microchip internal file. It must not be included in release.
 * $Id: $
 ****************************************************************************-->
<project name="generic_cc_build" default="release">

<!-- These are "defines" for use later in the file -->
	<property name="release_dir" value="//overseer/ammd-32b/apps/release/examples" />
	<property name="source_dir" value="examples" />
	<property name="root_dir" value="examples" />
	<property name="test_dir" value="test" />


	<!-- Add a comma-separated pattern of file that are to be included in the final package. -->
	<property name="included_files_dirs" value="**/*.cpp, **/*.bpr, **/*.res, **/*.html, **/*.mp3, **/*.swf, **/*.gif, **/*.exe, **/*.wav, **/release/**, **/*.mcp, **/*.mcw, **/*.elf, **/*.hex, **/*.map, **/*.a, **/*.c, **/*.h, **/*.s, **/*.S, **/*.bat, **/*.inc, **/*.def, **/*.tmpl, **/*.txt, **/webpages/**, **/*.bin" />

    <target name="all" depends="release"/>

    <target name="release">

	<!-- Delete previously checked out files. -->
	<delete dir="${root_dir}" />
	<delete dir="${test_dir}" />

    	<!-- 1. Checkout entire examples from SVN -->
	<exec failonerror="true" executable="cmd" dir="./">
		<arg value="/c"/>
		<arg value="svn"/>
		<arg value="co" />
		<arg value= "https://chn-vm-piccode/svn/hpmd/Microchip Solutions/examples" />
	</exec>		


    	<!-- Create release directory -->
    	<mkdir dir="${release_dir}"/>
    	
    	<!-- 2. Zip entire examples directory -->
    	<zip destfile="${release_dir}/examples.zip" basedir="${source_dir}/" includes="${included_files_dirs}"/>
    	
    	<!-- 3. Zip set of examples directory -->
    	<zip destfile="${release_dir}/plib_examples.zip" basedir="${source_dir}/plib_examples" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/assembly_examples.zip" basedir="${source_dir}/assembly_examples" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/c32_examples.zip" basedir="${source_dir}/c32_examples" includes="${included_files_dirs}"/>
    	
    	<!-- 4. Now zip inividual examples -->
    	<zip destfile="${release_dir}/ports_control_assembly_example.zip" basedir="${source_dir}/assembly_examples/ports_control" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/core_timer_interrupt_assembly_example.zip" basedir="${source_dir}/assembly_examples/core_timer_interrupt" includes="${included_files_dirs}"/>

    	<zip destfile="${release_dir}/custom_ld_file_c32_example.zip" basedir="${source_dir}/c32_examples/custom_ld_file" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/handling_exceptions_c32_example.zip" basedir="${source_dir}/c32_examples/handling_exceptions" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/led_message.zip" basedir="${source_dir}/c32_examples/led_message" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/mips16_functions_c32_example.zip" basedir="${source_dir}/c32_examples/mips16_functions" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/ram_execution_c32_example.zip" basedir="${source_dir}/c32_examples/ram_execution" includes="${included_files_dirs}"/>
    	
    	<zip destfile="${release_dir}/adc10_plib_examples.zip" basedir="${source_dir}/plib_examples/adc10" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/bmx_plib_examples.zip" basedir="${source_dir}/plib_examples/bmx" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/cmp_plib_examples.zip" basedir="${source_dir}/plib_examples/cmp" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/cvref_plib_examples.zip" basedir="${source_dir}/plib_examples/cvref" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/dma_plib_examples.zip" basedir="${source_dir}/plib_examples/dma" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/i2c_plib_examples.zip" basedir="${source_dir}/plib_examples/i2c" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/incap_plib_examples.zip" basedir="${source_dir}/plib_examples/incap" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/int_plib_examples.zip" basedir="${source_dir}/plib_examples/int" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/nvm_plib_examples.zip" basedir="${source_dir}/plib_examples/nvm" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/ocmp_plib_examples.zip" basedir="${source_dir}/plib_examples/ocmp" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/operate_in_idle_mode.zip" basedir="${source_dir}/plib_examples/operate_in_idle_mode" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/osc_plib_examples.zip" basedir="${source_dir}/plib_examples/osc" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/pcache_plib_examples.zip" basedir="${source_dir}/plib_examples/pcache" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/pmp_plib_examples.zip" basedir="${source_dir}/plib_examples/pmp" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/ports_plib_examples.zip" basedir="${source_dir}/plib_examples/ports" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/power_plib_examples.zip" basedir="${source_dir}/plib_examples/power" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/ram_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/ram_execution" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/reset_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/reset" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/rtcc_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/rtcc" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/spi_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/spi" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/timer_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/timer" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/uart_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/uart" includes="${included_files_dirs}"/>
    	<zip destfile="${release_dir}/wdt_execution_plib_examples.zip" basedir="${source_dir}/plib_examples/wdt" includes="${included_files_dirs}"/>

	<!-- 5. Extract the zip -->
	<!-- Delete old files, if there are any -->
	<delete dir="${test_dir}" />
	<unzip src="${release_dir}/examples.zip" dest="${test_dir}" />
	
	<!-- 6. Try to build from the extracted zip -->
	<exec failonerror="true" executable="cmd" dir="${test_dir}/">
		<arg value="/c"/>
		<arg value="build_all.bat"/>
	</exec>		
	

 
    </target>	

</project>