Fixed Win32 DLL support.
[libfirm] / win32 / vc2010 / filelist.sh
1 #!/bin/bash
2 #
3 # Little helper script used to create the file list for Makefile.am
4 # automatically
5
6 DIRS="ir/adt ir/ana ir/be ir/common ir/debug ir/ident ir/ir ir/libcore ir/lower ir/obstack ir/opt ir/stat ir/tr ir/tv win32 include/libfirm include/libfirm/adt ir/be/ia32 ir/be/arm ir/be/mips ir/be/ppc32 ir/be/amd64 ir/be/sparc ir/be/TEMPLATE"
7
8 FILELIST="`pwd`/FILELIST"
9 FILELIST2="`pwd`/FILELIST2"
10
11 rm -f "$FILELIST" "$FILELIST2"
12 echo "  <ItemGroup>" > "$FILELIST"
13 pushd ../.. > /dev/null
14 for dir in $DIRS; do
15         d=`echo $dir | tr / '\\\\'`
16         for f in $dir/*.c; do
17                 if [ "$f" = '*.c' -o "$f" = '*.h' ]; then
18                         continue
19                 fi
20                 f=`echo $f | tr / '\\\\'`
21                 echo "    <ClCompile Include=\"\$(FirmRoot)\\$f\" />" >> "$FILELIST"
22
23                 echo "    <ClCompile Include=\"\$(FirmRoot)\\$f\">" >> "$FILELIST2"
24                 echo "       <Filter>$d</Filter>" >> $FILELIST2
25                 echo "    </ClCompile>" >> $FILELIST2
26         done
27         for f in $dir/*.h; do
28                 if [ "$f" = '*.c' -o "$f" = '*.h' ]; then
29                         continue
30                 fi
31                 f=`echo $f | tr / '\\\\'`
32                 echo "    <ClInclude Include=\"\$(FirmRoot)\\$f\" />" >> "$FILELIST"
33
34                 echo "    <ClInclude Include=\"\$(FirmRoot)\\$f\">" >> "$FILELIST2"
35                 echo "      <Filter>$d</Filter>" >> $FILELIST2
36                 echo "    </ClInclude>" >> $FILELIST2
37         done
38 done
39
40 CUSTOMBUILD='ir/be/ia32/ia32_spec.pl ir/be/arm/arm_spec.pl ir/be/ppc32/ppc32_spec.pl ir/be/mips/mips_spec.pl ir/be/TEMPLATE/TEMPLATE_spec.pl ir/be/sparc/sparc_spec.pl ir/be/amd64/amd64_spec.pl scripts/gen_ir_io.py scripts/ir_spec.py'
41 echo "$CUSTOMBUILD" > /tmp/custombuilds
42 for f in scripts/*.py ir/be/scripts/*.pl ir/ir/irflag_t.def ir/be/*/*_spec.pl; do
43         d=`dirname $f | tr / '\\\\'`
44
45         if grep "$f" /tmp/custombuilds > /dev/null; then
46                 # already in custombuild ?
47                 continue
48         fi
49         f=`echo $f | tr / '\\\\'`
50         echo "    <None Include=\"\$(FirmRoot)\\$f\" />" >> "$FILELIST"
51
52         echo "    <None Include=\"\$(FirmRoot)\\$f\">" >> "$FILELIST2"
53         echo "      <Filter>$d</Filter>" >> $FILELIST2
54         echo "    </None>" >> $FILELIST2
55 done
56
57 for f in $CUSTOMBUILD; do
58         d=`dirname $f | tr / '\\\\'`
59         f=`echo $f | tr / '\\\\'`
60         echo "    <CustomBuild Include=\"\$(FirmRoot)\\$f\">" >> "$FILELIST2"
61         echo "      <Filter>$d</Filter>" >> $FILELIST2
62         echo "    </CustomBuild>" >> $FILELIST2
63 done
64
65 echo "  </ItemGroup>" >> "$FILELIST2"
66 echo "</Project>" >> "$FILELIST2"
67
68 popd > /dev/null