2 <project name="Cecil" default="cecil" basedir=".">
4 <property name="debug" value="false" />
5 <property name="optimize" value="true" />
6 <property name="build.dir" value="bin" />
7 <property name="keyfile" value="../mono.snk" />
9 <!-- allow properties to be customized in external file" -->
10 <include buildfile="build.properties" if="${file::exists('build.properties')}" />
12 <fileset id="all-files">
13 <include name="./**/*.cs" />
14 <exclude name="CodeGen/**/*.*" />
18 <delete failonerror="false">
20 <include name="**/bin/**" />
21 <include name="**/obj/**" />
22 <include name="${build.dir}/**" />
28 <mkdir dir="${build.dir}" />
31 <target name="cecil" depends="init">
32 <csc output="${build.dir}/Mono.Cecil.dll"
33 target="library" debug="${debug}" unsafe="false" optimize="${optimize}" keyfile="${keyfile}">
34 <sources refid="all-files"/>
38 <target name="compactframework" depends="init" description="compiles cecil to run on the CompactFramework 1.0">
39 <property name="compactframework.defines" value="CF_1_0" />
40 <property name="compactframework.dir" value="${compactframework.v1.dir}" />
41 <call target="compactframework-compilation" />
44 <target name="compactframework2" depends="init" description="compiles cecil to run on the CompactFramework 2.0">
45 <property name="compactframework.defines" value="CF_2_0" />
46 <property name="compactframework.dir" value="${compactframework.v2.dir}" />
47 <call target="compactframework-compilation" />
50 <target name="compactframework-compilation">
51 <csc output="${build.dir}/Mono.Cecil.dll"
52 target="library" debug="${debug}" unsafe="false" optimize="${optimize}"
53 noconfig="true" nostdlib="true" keyfile="${keyfile}"
54 define="${compactframework.defines}">
55 <sources refid="all-files" />
57 <references basedir="${compactframework.dir}">
58 <include name="mscorlib.dll" />
59 <include name="System.dll" />
64 <target name="codegen">
65 <exec program="ruby" commandline="cecil-gen.rb" workingdir="CodeGen" />