author | truelight |
Sun, 17 Jun 2007 20:14:38 +0000 | |
changeset 7432 | 2c1075bc97d3 |
parent 7397 | d371cc0fbb3c |
child 7433 | 8e410e7ec0d7 |
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" |
7397
d371cc0fbb3c
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
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 |
|
7432
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
41 |
safety_check() { |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
42 |
li="" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
43 |
for i in `cat $1 | grep -v "#" | xargs -n 1 basename | sort`; do |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
44 |
if [ "$li" = "$i" ]; then |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
45 |
echo " !! ERROR !!" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
46 |
echo "" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
47 |
echo "The filename '$i' is already used in this project." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
48 |
echo "Because MSVC uses one single directory for all object files, it" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
49 |
echo "cannot handle filenames with the same name inside the same project." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
50 |
echo "Please rename either one of the file and try generating again." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
51 |
echo "" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
52 |
echo " !! ERROR !!" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
53 |
exit 1 |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
54 |
fi |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
55 |
li="$i" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
56 |
done |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
57 |
} |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
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; } |
7397
d371cc0fbb3c
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
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 |
|
7432
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
190 |
safety_check "$ROOT_DIR/source.list" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
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" |