author | celestar |
Tue, 19 Jun 2007 07:21:01 +0000 | |
branch | gamebalance |
changeset 9913 | e79cd19772dd |
parent 6503 | 92d748cdefbe |
child 6732 | ca1b466db422 |
permissions | -rwxr-xr-x |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
1 |
#!/bin/bash |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
2 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
3 |
# This file generates all project files based on sources.list, so everyone who |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
4 |
# can start a bash process, can update the project files. |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
5 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
6 |
ROOT_DIR="`pwd`/.." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
7 |
if ! [ -e "$ROOT_DIR/source.list" ] |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
8 |
then |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
9 |
ROOT_DIR="`pwd`" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
10 |
fi |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
11 |
if ! [ -e "$ROOT_DIR/source.list" ] |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
12 |
then |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
13 |
echo "Can't find source.list, needed in order to make this run. Please go to either" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
14 |
echo " the project dir, or the root dir of a clean SVN checkout." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
15 |
exit 1 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
16 |
fi |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
17 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
18 |
# openttd_vs80.sln is for MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
19 |
# openttd_vs80.vcproj is for MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
20 |
# langs_vs80.vcproj is for MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
21 |
# strgen_vs80.vcprojc is vor MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
22 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
23 |
# openttd.sln is for MSVC 2003 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
24 |
# openttd.vcproj is for MSVC 2003 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
25 |
# langs.vcproj is for MSVC 2003 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
26 |
# strgen.vcproj is for MSVC 2003 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
27 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
28 |
# openttd.tgt is for WatCom |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
29 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
30 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
31 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
32 |
# First, collect the list of Windows files |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
33 |
sdl_config="1" |
9913
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
34 |
png_config="1" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
35 |
os="MSVC" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
36 |
enable_dedicated="0" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
37 |
with_cocoa="0" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
38 |
enable_directmusic="1" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
39 |
file_prefix="..\\\\src\\\\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
40 |
|
9913
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
41 |
safety_check() { |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
42 |
li="" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
43 |
for i in `cat $1 | grep -v "#\|ottdres.rc\|win32.cpp\|win32_v.cpp" | xargs -n 1 basename | sort`; do |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
44 |
if [ "$li" = "$i" ]; then |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
45 |
echo " !! ERROR !!" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
46 |
echo "" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
47 |
echo "The filename '$i' is already used in this project." |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
48 |
echo "Because MSVC uses one single directory for all object files, it" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
49 |
echo "cannot handle filenames with the same name inside the same project." |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
50 |
echo "Please rename either one of the file and try generating again." |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
51 |
echo "" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
52 |
echo " !! ERROR !!" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
53 |
exit 1 |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
54 |
fi |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
55 |
li="$i" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
56 |
done |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
57 |
} |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
58 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
59 |
load_main_data() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
60 |
# Read the source.list and process it |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
61 |
RES="`cat $1 | tr '\r' '\n' | awk ' |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
62 |
/^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
63 |
/^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
64 |
/^( *)#if/ { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
65 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
66 |
gsub("^#if", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
67 |
gsub("^ ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
68 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
69 |
if (deep != skip) { deep += 1; next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
70 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
71 |
deep += 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
72 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
73 |
if ($0 == "SDL" && "'$sdl_config'" == "") { next; } |
9913
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
74 |
if ($0 == "PNG" && "'$png_config'" == "") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
75 |
if ($0 == "OSX" && "'$os'" != "OSX") { next; } |
6371
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
76 |
if ($0 == "OS2" && "'$os'" != "OS2") { next; } |
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
77 |
if ($0 == "PSP" && "'$os'" != "PSP") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
78 |
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
79 |
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
80 |
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
81 |
if ($0 == "WIN32" && "'$os'" != "MINGW" && |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
82 |
"'$os'" != "CYGWIN" && "'$os'" != "MSVC" ) { next; } |
6025
596b7176dc7f
(svn r8326) -Fix r8304: forgot to update projects/generate to keep in mind the new WINCE tag in sources.list
truelight
parents:
5763
diff
changeset
|
83 |
if ($0 == "WINCE" && "'$os'" != "WINCE") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
84 |
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
85 |
if ($0 == "DIRECTMUSIC" && "'$enable_directmusic'" != "1") { next; } |
6371
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
86 |
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
87 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
88 |
skip += 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
89 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
90 |
next; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
91 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
92 |
/^( *)#/ { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
93 |
if (deep == skip) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
94 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
95 |
gsub("^#", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
96 |
gsub("^ ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
97 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
98 |
if (first_time != 0) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
99 |
print " </Filter>"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
100 |
} else { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
101 |
first_time = 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
102 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
103 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
104 |
print " <Filter"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
105 |
print " Name=\\""$0"\\""; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
106 |
print " Filter=\\"\\">"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
107 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
108 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
109 |
next; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
110 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
111 |
/^$/ { next } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
112 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
113 |
if (deep == skip) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
114 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
115 |
gsub("/", "\\\\", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
116 |
print " <File"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
117 |
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\">"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
118 |
print " </File>"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
119 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
120 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
121 |
END { print " </Filter>"; } |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
122 |
'`" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
123 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
124 |
eval "$2=\"\$RES\"" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
125 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
126 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
127 |
load_lang_data() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
128 |
RES="" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
129 |
for i in `ls $1` |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
130 |
do |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
131 |
i=`basename $i | sed s/.txt$//g` |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
132 |
RES="$RES |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
133 |
<File |
6423
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
134 |
RelativePath=\"..\\src\\lang\\"$i".txt\"> |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
135 |
<FileConfiguration |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
136 |
Name=\"Debug|Win32\"> |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
137 |
<Tool |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
138 |
Name=\"VCCustomBuildTool\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
139 |
Description=\"Generating "$i" language file\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
140 |
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
141 |
AdditionalDependencies=\"\" |
6423
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
142 |
Outputs=\"..\\bin\\lang\\"$i".lng\"/> |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
143 |
</FileConfiguration> |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
144 |
</File>" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
145 |
done |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
146 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
147 |
eval "$2=\"\$RES\"" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
148 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
149 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
150 |
generate() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
151 |
echo "Generating $2..." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
152 |
# Everything above the !!FILES!! marker |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
153 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
154 |
/^$/ { next } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
155 |
/!!FILES!!/ { stop = 1; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
156 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
157 |
if (stop == 0) { print $0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
158 |
} |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
159 |
' > "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
160 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
161 |
# The files-list |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
162 |
echo "$1" | awk -v type="$3" ' |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
163 |
/
/ { |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
164 |
if (type == "msvc2003") gsub("
", "\n", $0); |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
165 |
} |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
166 |
/Filter="">/ { |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
167 |
if (type == "msvc2005") gsub("Filter=\"\">", ">", $0); |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
168 |
} |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
169 |
/"\/>/ { |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
170 |
if (type == "msvc2005") gsub("/>", "\n" substr($0, 1, index($0, $1) - 2) "/>", $0); |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
171 |
} |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
172 |
/">/ { |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
173 |
if (type == "msvc2005") gsub(">", "\n" substr($0, 1, index($0, $1) - 1) ">", $0); |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
174 |
} |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
175 |
{ print $0 } |
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
176 |
' >> "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
177 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
178 |
# Everything below the !!FILES!! marker |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
179 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
180 |
BEGIN { stop = 1; } |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
181 |
/^$/ { next } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
182 |
/!!FILES!!/ { stop = 2; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
183 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
184 |
if (stop == 0) { print $0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
185 |
if (stop == 2) { stop = 0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
186 |
} |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
187 |
' >> "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
188 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
189 |
|
9913
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
190 |
safety_check "$ROOT_DIR/source.list" |
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
6503
diff
changeset
|
191 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
192 |
load_main_data "$ROOT_DIR/source.list" openttd |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
193 |
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
194 |
|
6423
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
195 |
generate "$openttd" "openttd.vcproj" "msvc2003" |
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
196 |
generate "$openttd" "openttd_vs80.vcproj" "msvc2005" |
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
197 |
generate "$lang" "langs.vcproj" "msvc2003" |
fba62307aab7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6371
diff
changeset
|
198 |
generate "$lang" "langs_vs80.vcproj" "msvc2005" |