about summary refs log tree commit diff
path: root/default.bam
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-10-02 08:26:08 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-10-02 08:26:08 +0000
commit0ee7affeb1fd64f1dbb9c9596143f25514be9a8c (patch)
tree5a26551c18d6b9ba886861c421955c231e602fa2 /default.bam
parent60e0dc07d8653e55b6736606ff72b0d89656d4ab (diff)
downloadzcatch-0ee7affeb1fd64f1dbb9c9596143f25514be9a8c.tar.gz
zcatch-0ee7affeb1fd64f1dbb9c9596143f25514be9a8c.zip
updated build script
Diffstat (limited to 'default.bam')
-rw-r--r--default.bam81
1 files changed, 49 insertions, 32 deletions
diff --git a/default.bam b/default.bam
index 9b3f8899..64798e5f 100644
--- a/default.bam
+++ b/default.bam
@@ -153,43 +153,29 @@ function build(settings)
 		settings.linker.flags = ""
 	end
 
-	server_settings = settings:copy()
 
 	-- set some platform specific settings
 	settings.cc.includes:add("src")
 	settings.cc.includes:add("src/external/zlib")
-	settings.cc.includes:add("src/external/glfw/include")
 
 	if family == "unix" then
    		if platform == "macosx" then
 			glfw_platform = "macosx"
-			settings.linker.frameworks:add("OpenGL")
-            settings.linker.frameworks:add("AGL")
-            settings.linker.frameworks:add("Carbon")
-			settings.linker.frameworks:add("CoreAudio")
-			settings.linker.frameworks:add("AudioToolbox")
-			settings.linker.frameworks:add("AudioUnit")
 		else
 			glfw_platform = "x11"
 			settings.linker.libs:add("pthread")
-            settings.linker.libs:add("asound")
-			settings.linker.libs:add("X11")
-			settings.linker.libs:add("GL")
-			settings.linker.libs:add("GLU")
 		end
 	elseif family == "windows" then
 		glfw_platform = "win32"
 		settings.linker.libs:add("gdi32.lib")
 		settings.linker.libs:add("user32.lib")
-		settings.linker.libs:add("opengl32.lib")
-		settings.linker.libs:add("glu32.lib")
 		settings.linker.libs:add("ws2_32.lib")
-		settings.linker.libs:add("dsound.lib")
 		settings.linker.libs:add("ole32.lib")
 	end
 	
 	-- build glfw
 	glfw_settings = settings:copy()
+	glfw_settings.cc.includes:add("src/external/glfw/include")
 	glfw_settings.cc.includes:add("src/engine/external/glfw/lib")
 	glfw_settings.cc.includes:add("src/engine/external/glfw/lib/" .. glfw_platform)
 
@@ -201,23 +187,48 @@ function build(settings)
 	engine_settings = settings:copy()
 	
 	if family == "windows" then
-		engine_settings.cc.flags = "/wd4244"
+		engine_settings.cc.flags = "/wd4244 /TP"
 	else
-		engine_settings.cc.flags = "-Wall"
+		engine_settings.cc.flags = "-Wall -std=c99"
 		engine_settings.linker.flags = ""
 	end
+
+	-- server
+	server_settings = engine_settings:copy()
+
+	-- client
+	client_settings = engine_settings:copy()
+	client_settings.cc.includes:add("src/external/glfw/include")
+
+	if family == "unix" then
+   		if platform == "macosx" then
+			client_settings.linker.frameworks:add("OpenGL")
+            client_settings.linker.frameworks:add("AGL")
+            client_settings.linker.frameworks:add("Carbon")
+			client_settings.linker.frameworks:add("CoreAudio")
+			client_settings.linker.frameworks:add("AudioToolbox")
+			client_settings.linker.frameworks:add("AudioUnit")
+		else
+            client_settings.linker.libs:add("asound")
+			client_settings.linker.libs:add("X11")
+			client_settings.linker.libs:add("GL")
+			client_settings.linker.libs:add("GLU")
+		end
+	elseif family == "windows" then
+		client_settings.linker.libs:add("opengl32.lib")
+		client_settings.linker.libs:add("glu32.lib")
+		client_settings.linker.libs:add("dsound.lib")
+	end
+
+	external_settings = settings:copy()
+	zlib = Compile(external_settings, Collect("src/engine/external/zlib/*.c"))
+	wavpack = Compile(external_settings, Collect("src/engine/external/wavpack/*.c"))
+	pnglite = Compile(external_settings, Collect("src/engine/external/pnglite/*.c"))
+	portaudio = Compile(external_settings, Collect("src/engine/external/pa.c"))
 	
-	engine = Compile(engine_settings, Collect(
-		"src/engine/*.c",
-		"src/engine/external/zlib/*.c"))
-		
-	client = Compile(engine_settings, Collect(
-		"src/engine/client/*.c",
-		"src/engine/external/pnglite/*.c",
-		"src/engine/external/pa.c",
-		"src/engine/external/wavpack/*.c"))
-		
-	server = Compile(engine_settings, Collect("src/engine/server/*.c"))
+	engine = Compile(engine_settings, Collect("src/engine/*.c"))
+	client = Compile(client_settings, Collect("src/engine/client/*.c"))
+	server = Compile(server_settings, Collect("src/engine/server/*.c"))
 	
 	masterserver = Compile(settings, Collect("src/mastersrv/*.cpp"))
 	game_shared = Compile(settings, Collect("src/game/*.cpp"), nethash)
@@ -232,13 +243,19 @@ function build(settings)
 	tools = {}
 	for i,v in objs do
 		toolname = PathFilename(PathBase(v))
-		tools[i] = Link(settings, toolname, v, engine)
+		tools[i] = Link(settings, toolname, v, engine, zlib)
 	end
 	
 	-- build client, server and master server
-	client_exe = Link(settings, "teewars", game_shared, game_client, engine, client, editor, glfw, pa, client_libs, client_link_other)
-	server_exe = Link(server_settings, "teewars_srv", engine, server, game_shared, game_server)
-	masterserver_exe = Link(server_settings, "mastersrv", masterserver, engine)
+	client_exe = Link(client_settings, "teewars", game_shared, game_client,
+		engine, client, editor, glfw, portaudio, zlib, pnglite, wavpack,
+		client_link_other)
+
+	server_exe = Link(server_settings, "teewars_srv", engine, server,
+		game_shared, game_server, zlib)
+
+	masterserver_exe = Link(server_settings, "mastersrv", masterserver,
+		engine, zlib)
 
 	-- make targets
 	c = PseudoTarget("client".."_"..settings.config_name, client_exe)