projects/generate
author celestar
Mon, 19 Mar 2007 09:33:17 +0000
branchgamebalance
changeset 9894 70d78ac95d6c
parent 6503 92d748cdefbe
child 6720 35756db7e577
child 7397 d371cc0fbb3c
child 9621 7654501cf02d
permissions -rwxr-xr-x
(svn r9310) [gamebalance] -Feature: Player performance now influences the wealth level of a town (albeit only on a small scale). This is the first feedback effect that the player has on the local and global economy. Please refrain from using the AI too much for the time being because it'll trash the ratings most likely.
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"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    34
os="MSVC"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    35
enable_dedicated="0"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    36
with_cocoa="0"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    37
enable_directmusic="1"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    38
file_prefix="..\\\\src\\\\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    39
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    40
load_main_data() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    41
	# 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
    42
	RES="`cat $1 | tr '\r' '\n' | awk '
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    43
		/^(	*)#end/  { if (deep == skip) { skip -= 1; } deep -= 1; next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    44
		/^(	*)#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
    45
		/^(	*)#if/   {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    46
			gsub("	", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    47
			gsub("^#if", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    48
			gsub("^ ", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    49
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    50
			if (deep != skip) { deep += 1; next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    51
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    52
			deep += 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    53
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    54
			if ($0 == "SDL"         && "'$sdl_config'" == "")          { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    55
			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
    56
			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
    57
			if ($0 == "PSP"         && "'$os'" != "PSP")               { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    58
			if ($0 == "DEDICATED"   && "'$enable_dedicated'" != "1")   { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    59
			if ($0 == "COCOA"       && "'$with_cocoa'" == "0")         { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    60
			if ($0 == "BEOS"        && "'$os'" != "BEOS")              { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    61
			if ($0 == "WIN32"       && "'$os'" != "MINGW" &&
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    62
											"'$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
    63
			if ($0 == "WINCE"       && "'$os'" != "WINCE")             { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    64
			if ($0 == "MSVC"        && "'$os'" != "MSVC")              { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    65
			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
    66
			if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" )        { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    67
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    68
			skip += 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    69
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    70
			next;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    71
		}
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 (deep == skip) {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    74
				gsub("	", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    75
				gsub("^#", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    76
				gsub("^ ", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    77
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    78
				if (first_time != 0) {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    79
					print "		</Filter>";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    80
				} else {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    81
					first_time = 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    82
				}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    83
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    84
				print "		<Filter";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    85
				print "			Name=\\""$0"\\"";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    86
				print "			Filter=\\"\\">";
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
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    89
			next;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    90
		}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    91
		/^$/ { next }
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
				print "			<File";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    97
				print "				RelativePath=\\".\\\\'$file_prefix'"$0"\\">";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    98
				print "			</File>";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    99
			}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   100
		}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   101
		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
   102
	'`"
5726
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
	eval "$2=\"\$RES\""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   105
}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   106
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   107
load_lang_data() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   108
	RES=""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   109
	for i in `ls $1`
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   110
	do
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   111
		i=`basename $i | sed s/.txt$//g`
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   112
		RES="$RES
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   113
		<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
   114
			RelativePath=\"..\\src\\lang\\"$i".txt\">
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   115
			<FileConfiguration
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   116
				Name=\"Debug|Win32\">
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   117
				<Tool
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   118
					Name=\"VCCustomBuildTool\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   119
					Description=\"Generating "$i" language file\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   120
					CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang &quot;\$(InputPath)&quot;&#x0D;&#x0A;\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   121
					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
   122
					Outputs=\"..\\bin\\lang\\"$i".lng\"/>
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   123
			</FileConfiguration>
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   124
		</File>"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   125
	done
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
	eval "$2=\"\$RES\""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   128
}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   129
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   130
generate() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   131
	echo "Generating $2..."
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   132
	# 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
   133
	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
   134
		/^$/ { next }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   135
		/!!FILES!!/ { stop = 1; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   136
		{
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   137
			if (stop == 0) { print $0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   138
		}
6503
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   139
	' > "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   140
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   141
	# 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
   142
	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
   143
		/&#x0D;&#x0A;/ {
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   144
			if (type == "msvc2003") gsub("&#x0D;&#x0A;", "\n", $0);
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   145
		}
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   146
		/Filter="">/ {
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   147
			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
   148
		}
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   149
		/"\/>/ {
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   150
			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
   151
		}
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   152
		/">/ {
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   153
			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
   154
		}
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   155
		{ print $0 }
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   156
	' >> "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   157
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   158
	# 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
   159
	cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   160
		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
   161
		/^$/ { next }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   162
		/!!FILES!!/ { stop = 2; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   163
		{
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   164
			if (stop == 0) { print $0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   165
			if (stop == 2) { stop = 0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   166
		}
6503
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   167
	' >> "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   168
}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   169
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   170
load_main_data "$ROOT_DIR/source.list" openttd
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   171
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   172
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
   173
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
   174
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
   175
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
   176
generate "$lang" "langs_vs80.vcproj"      "msvc2005"