projects/generate
author richk
Fri, 18 Apr 2008 19:55:13 +0000
branchNewGRF_ports
changeset 10242 52b4a9006029
parent 10211 c1391c8ed5c6
child 10724 68a692eacf22
permissions -rwxr-xr-x
(svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
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
6871
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    18
# openttd_vs90.sln    is for MSVC 2008
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    19
# openttd_vs90.vcproj is for MSVC 2008
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    20
# langs_vs90.vcproj   is for MSVC 2008
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    21
# strgen_vs90.vcproj  is for MSVC 2008
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    22
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    23
# openttd_vs80.sln    is for MSVC 2005
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    24
# openttd_vs80.vcproj is for MSVC 2005
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    25
# langs_vs80.vcproj   is for MSVC 2005
6871
5a9dc001e1ad (svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents: 6732
diff changeset
    26
# strgen_vs80.vcproj  is for MSVC 2005
5726
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
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
# First, collect the list of Windows files
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    31
sdl_config="1"
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    32
png_config="1"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    33
os="MSVC"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    34
enable_dedicated="0"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    35
with_cocoa="0"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    36
enable_directmusic="1"
6732
ca1b466db422 (svn r10653) [NewGRF_ports] -Sync: with trunk r10602-10651
richk
parents: 6720
diff changeset
    37
with_threads="1"
5726
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
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    40
safety_check() {
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    41
	li=""
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    42
	for i in `cat $1 | grep -v "#\|ottdres.rc\|win32.cpp\|win32_v.cpp" | xargs -n 1 basename | sort`; do
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    43
		if [ "$li" = "$i" ]; then
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    44
			echo " !! ERROR !!"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    45
			echo ""
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    46
			echo "The filename '$i' is already used in this project."
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    47
			echo "Because MSVC uses one single directory for all object files, it"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    48
			echo "cannot handle filenames with the same name inside the same project."
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    49
			echo "Please rename either one of the file and try generating again."
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    50
			echo ""
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    51
			echo " !! ERROR !!"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    52
			exit 1
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    53
		fi
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    54
		li="$i"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    55
	done
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    56
}
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    57
10242
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    58
grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sort > tmp.headers.source.list
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    59
find "$ROOT_DIR/src" -iname "*.h*" -and -not -iname "*svn*" -and -not -iname "*.hpp.sq" | sed "s@$ROOT_DIR/src/@@" | sort > tmp.headers.src
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    60
if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    61
	echo "The following headers are missing in source.list and not in /src/ or vice versa."
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    62
	diff tmp.headers.source.list tmp.headers.src | grep '[<>]' | sort
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    63
	echo ""
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    64
fi
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    65
rm tmp.headers.*
52b4a9006029 (svn r12774) [NewGRF_ports] -Sync: with trunk r12742:12772.
richk
parents: 10211
diff changeset
    66
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    67
load_main_data() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    68
	# 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
    69
	RES="`cat $1 | tr '\r' '\n' | awk '
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    70
		/^(	*)#end/  { if (deep == skip) { skip -= 1; } deep -= 1; next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    71
		/^(	*)#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
    72
		/^(	*)#if/   {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    73
			gsub("	", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    74
			gsub("^#if", "", $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
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    77
			if (deep != skip) { deep += 1; next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    78
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    79
			deep += 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    80
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    81
			if ($0 == "SDL"         && "'$sdl_config'" == "")          { next; }
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
    82
			if ($0 == "PNG"         && "'$png_config'" == "")          { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    83
			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
    84
			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
    85
			if ($0 == "PSP"         && "'$os'" != "PSP")               { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    86
			if ($0 == "DEDICATED"   && "'$enable_dedicated'" != "1")   { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    87
			if ($0 == "COCOA"       && "'$with_cocoa'" == "0")         { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    88
			if ($0 == "BEOS"        && "'$os'" != "BEOS")              { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    89
			if ($0 == "WIN32"       && "'$os'" != "MINGW" &&
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    90
											"'$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
    91
			if ($0 == "WINCE"       && "'$os'" != "WINCE")             { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    92
			if ($0 == "MSVC"        && "'$os'" != "MSVC")              { next; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    93
			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
    94
			if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" )        { next; }
10211
c1391c8ed5c6 (svn r12743) [NewGRF_ports] -Sync: with trunk r12705:12741.
richk
parents: 6877
diff changeset
    95
			if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0")       { next; }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    96
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    97
			skip += 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    98
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    99
			next;
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
		/^(	*)#/ {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   102
			if (deep == skip) {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   103
				gsub("	", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   104
				gsub("^#", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   105
				gsub("^ ", "", $0);
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
				if (first_time != 0) {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   108
					print "		</Filter>";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   109
				} else {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   110
					first_time = 1;
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   111
				}
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
				print "		<Filter";
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   114
				print "			Name=\\""$0"\\"";
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   115
				print "			>";
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   116
			}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   117
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   118
			next;
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
		/^$/ { next }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   121
		{
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   122
			if (deep == skip) {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   123
				gsub("	", "", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   124
				gsub("/", "\\\\", $0);
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   125
				print "			<File";
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   126
				print "				RelativePath=\\".\\\\'$file_prefix'"$0"\\"";
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   127
				print "				>";
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   128
				print "			</File>";
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
		}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   131
		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
   132
	'`"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   133
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   134
	eval "$2=\"\$RES\""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   135
}
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
load_lang_data() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   138
	RES=""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   139
	for i in `ls $1`
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   140
	do
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   141
		i=`basename $i | sed s/.txt$//g`
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   142
		RES="$RES
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   143
		<File
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   144
			RelativePath=\"..\\src\\lang\\"$i".txt\"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   145
			>
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   146
			<FileConfiguration
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   147
				Name=\"Debug|Win32\"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   148
				>
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   149
				<Tool
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   150
					Name=\"VCCustomBuildTool\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   151
					Description=\"Generating "$i" language file\"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   152
					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
   153
					AdditionalDependencies=\"\"
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   154
					Outputs=\"..\\bin\\lang\\"$i".lng\"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   155
				/>
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   156
			</FileConfiguration>
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   157
		</File>"
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   158
	done
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   159
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   160
	eval "$2=\"\$RES\""
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   161
}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   162
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   163
generate() {
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   164
	echo "Generating $2..."
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   165
	# 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
   166
	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
   167
		/^$/ { next }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   168
		/!!FILES!!/ { stop = 1; }
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
			if (stop == 0) { print $0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   171
		}
6503
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   172
	' > "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   173
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   174
	echo "$1" >> "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   175
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   176
	# 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
   177
	cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   178
		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
   179
		/^$/ { next }
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   180
		/!!FILES!!/ { stop = 2; }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   181
		{
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   182
			if (stop == 0) { print $0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   183
			if (stop == 2) { stop = 0 }
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   184
		}
6503
92d748cdefbe (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents: 6423
diff changeset
   185
	' >> "$ROOT_DIR/projects/$2"
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   186
}
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   187
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
   188
safety_check "$ROOT_DIR/source.list"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents: 6503
diff changeset
   189
5726
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   190
load_main_data "$ROOT_DIR/source.list" openttd
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   191
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang
8f399788f6c9 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   192
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   193
generate "$openttd" "openttd_vs80.vcproj"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   194
generate "$openttd" "openttd_vs90.vcproj"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   195
generate "$lang" "langs_vs80.vcproj"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6871
diff changeset
   196
generate "$lang" "langs_vs90.vcproj"