import os, string, sys, fnmatch Import('env') quake3_server_env = env.Copy() quake3_server_src = [ 'engine/null/null_client.c', 'engine/null/null_input.c', 'engine/null/null_snddma.c', 'engine/qcommon/cm_load.c', 'engine/qcommon/cm_patch.c', 'engine/qcommon/cm_polylib.c', 'engine/qcommon/cm_test.c', 'engine/qcommon/cm_trace.c', 'engine/qcommon/cmd.c', 'engine/qcommon/common.c', 'engine/qcommon/cvar.c', 'engine/qcommon/files.c', 'engine/qcommon/huffman.c', 'engine/qcommon/md4.c', 'engine/qcommon/msg.c', 'engine/qcommon/net_chan.c', 'engine/server/sv_bot.c', 'engine/server/sv_ccmds.c', 'engine/server/sv_client.c', 'engine/server/sv_game.c', 'engine/server/sv_init.c', 'engine/server/sv_main.c', 'engine/server/sv_net_chan.c', 'engine/server/sv_snapshot.c', 'engine/server/sv_world.c', 'engine/qcommon/q_math.c', 'engine/qcommon/q_shared.c', 'engine/qcommon/unzip.c', 'engine/botlib/be_aas_bspq3.c', 'engine/botlib/be_aas_cluster.c', 'engine/botlib/be_aas_debug.c', 'engine/botlib/be_aas_entity.c', 'engine/botlib/be_aas_file.c', 'engine/botlib/be_aas_main.c', 'engine/botlib/be_aas_move.c', 'engine/botlib/be_aas_optimize.c', 'engine/botlib/be_aas_reach.c', 'engine/botlib/be_aas_route.c', 'engine/botlib/be_aas_routealt.c', 'engine/botlib/be_aas_sample.c', 'engine/botlib/be_ai_char.c', 'engine/botlib/be_ai_chat.c', 'engine/botlib/be_ai_gen.c', 'engine/botlib/be_ai_goal.c', 'engine/botlib/be_ai_move.c', 'engine/botlib/be_ai_weap.c', 'engine/botlib/be_ai_weight.c', 'engine/botlib/be_ea.c', 'engine/botlib/be_interface.c', 'engine/botlib/l_crc.c', 'engine/botlib/l_libvar.c', 'engine/botlib/l_log.c', 'engine/botlib/l_memory.c', 'engine/botlib/l_precomp.c', 'engine/botlib/l_script.c', 'engine/botlib/l_struct.c', ] unix_src = [ 'engine/unix/unix_main.c', 'engine/unix/unix_net.c', 'engine/unix/unix_shared.c' ] linux_src = [ #'engine/unix/linux_common.c', 'engine/unix/linux_signals.c'] vm_src = [ 'engine/qcommon/vm.c', 'engine/qcommon/vm_interpreted.c', ] quake3_server_env.Append(CCFLAGS='-DBOTLIB') quake3_server_env.Append(CCFLAGS='-DC_ONLY') quake3_server_env.Append(CCFLAGS='-DDEDICATED') if sys.platform != 'win32': quake3_server_env.Append(LIBS=['m']) # The "dl" library is needed on Linux if fnmatch.fnmatch(sys.platform, 'linux*'): quake3_server_env.Append(LIBS=['dl']) if env['vm'] != 0 and env['vm_archs'].count(env['arch']) > 0: vm_src += ['engine/qcommon/vm_' + env['arch'] + '.c'] else: quake3_server_env.Append(CCFLAGS='-DNO_VM_COMPILED') quake3_server_env.Program('quake3-server', [quake3_server_src, unix_src, linux_src, vm_src]) quake3_server_env.Install('#', 'quake3-server')