about summary refs log tree commit diff
path: root/default.bam
blob: 01128ae2ed25c1b20d05e8e24b14e842a5a5f00f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
-- 
function copy(output, input)
	print("copy " .. PathFilename(output))
    local copy_command
    
    if family == "windows" then
        copy_command = "copy"
        input = str_replace(input, "/", "\\")
        output = str_replace(output, "/", "\\")
    else
        copy_command = "cp"
    end

    os.execute(copy_command .. " " .. input .. " " .. output)
	return 0
end

function Copy(outputdir, ...)
	local inputs = collect_input(arg)
	local outputs = {}
	
	-- compile all the files
	for index, inname in inputs do
		output = Path(outputdir .. "/" .. PathFilename(inname))
		input = Path(inname)
		bam_add_job("copy", output, input)
		bam_add_dependency(output, input)
		table.insert(outputs, output)
	end
	
	return outputs
end

--

--baselib = Import("src/baselib/baselib.bam")
baselib = Import("../baselib/baselib.bam")
settings = NewSettings()
baselib.apply(settings, "all")

server_settings = NewSettings()
baselib.apply(server_settings, "network")

settings.cc.debug = 1
settings.cc.optimize = 0
settings.cc.flags = "-Wall"
settings.cc.includes:add("src")
settings.cc.includes:add("../baselib/src/external/zlib")

engine = Compile(settings, Collect("src/engine/*.cpp"))
client = Compile(settings, Collect("src/engine/client/*.cpp", "src/engine/client/pnglite/*.c"))
server = Compile(settings, Collect("src/engine/server/*.cpp"))
game_shared = Compile(settings, Collect("src/game/*.cpp"))
game_client = Compile(settings, Collect("src/game/client/*.cpp"))
game_server = Compile(settings, Collect("src/game/server/*.cpp"))
editor = Compile(settings, Collect("src/editor/*.cpp"))

client_exe = Link(settings, "teewars", engine, client, game_shared, game_client)
server_exe = Link(server_settings, "teewars_srv", engine, server, game_shared, game_server)
-- editor_exe = Link(settings, "editor", engine, game_shared, editor)

Target(PseudoTarget("client", client_exe))
Target(PseudoTarget("server", server_exe))
-- Target(PseudoTarget("editor", editor_exe))