mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-27 06:13:01 +00:00
134 lines
2.9 KiB
Text
134 lines
2.9 KiB
Text
# dedicated server build script
|
|
|
|
Import qw( BASE_CFLAGS BUILD_DIR INSTALL_DIR CC CXX LINK );
|
|
|
|
$DEDICATED_NAME = 'linuxq3ded';
|
|
|
|
$env_botlib = new cons(
|
|
CC => $CC,
|
|
CXX => $CXX,
|
|
LINK => $LINK,
|
|
ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
|
|
CFLAGS => $BASE_CFLAGS . '-DBOTLIB '
|
|
);
|
|
|
|
@BOTLIB_FILES = qw(
|
|
../botlib/be_aas_bspq3.c
|
|
../botlib/be_aas_cluster.c
|
|
../botlib/be_aas_debug.c
|
|
../botlib/be_aas_entity.c
|
|
../botlib/be_aas_file.c
|
|
../botlib/be_aas_main.c
|
|
../botlib/be_aas_move.c
|
|
../botlib/be_aas_optimize.c
|
|
../botlib/be_aas_reach.c
|
|
../botlib/be_aas_route.c
|
|
../botlib/be_aas_routealt.c
|
|
../botlib/be_aas_sample.c
|
|
../botlib/be_ai_char.c
|
|
../botlib/be_ai_chat.c
|
|
../botlib/be_ai_gen.c
|
|
../botlib/be_ai_goal.c
|
|
../botlib/be_ai_move.c
|
|
../botlib/be_ai_weap.c
|
|
../botlib/be_ai_weight.c
|
|
../botlib/be_ea.c
|
|
../botlib/be_interface.c
|
|
../botlib/l_crc.c
|
|
../botlib/l_libvar.c
|
|
../botlib/l_log.c
|
|
../botlib/l_memory.c
|
|
../botlib/l_precomp.c
|
|
../botlib/l_script.c
|
|
../botlib/l_struct.c
|
|
);
|
|
$BOTLIB_REF = \@BOTLIB_FILES;
|
|
|
|
Library $env_botlib 'botlib', @$BOTLIB_REF;
|
|
|
|
# NOTE TTimo this requires patched cons version to work (see unix/cons)
|
|
%nasm_hash = new cons()->copy(
|
|
CC => 'nasm',
|
|
CCCOM => '%CC -f elf -o %> %<'
|
|
);
|
|
$nasm_hash{SUFMAP}{'.nasm'} = 'build::command::cc';
|
|
$nasm_env = new cons(%nasm_hash);
|
|
|
|
Library $nasm_env 'asmlib', 'ftol.nasm', 'snapvector.nasm';
|
|
|
|
$env = new cons(
|
|
CC => $CC,
|
|
CXX => $CXX,
|
|
LINK => $LINK,
|
|
ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
|
|
# FIXME TTimo I'm not sure about what C_ONLY is for
|
|
CFLAGS => $BASE_CFLAGS . '-DC_ONLY',
|
|
LDFLAGS => '-ldl -lm',
|
|
LIBS => ' '
|
|
. $BUILD_DIR . '/unix/botlib.a '
|
|
. $BUILD_DIR . '/unix/asmlib.a '
|
|
);
|
|
|
|
# list the files for the dedicated server
|
|
@FILES = qw(
|
|
../null/null_client.c
|
|
../null/null_input.c
|
|
../null/null_snddma.c
|
|
../server/sv_bot.c
|
|
../server/sv_ccmds.c
|
|
../server/sv_client.c
|
|
../server/sv_game.c
|
|
../server/sv_init.c
|
|
../server/sv_main.c
|
|
../server/sv_net_chan.c
|
|
../server/sv_snapshot.c
|
|
../server/sv_world.c
|
|
../qcommon/cm_load.c
|
|
../qcommon/cm_patch.c
|
|
../qcommon/cm_polylib.c
|
|
../qcommon/cm_test.c
|
|
../qcommon/cm_trace.c
|
|
../qcommon/cmd.c
|
|
../qcommon/common.c
|
|
../qcommon/cvar.c
|
|
../qcommon/files.c
|
|
../qcommon/huffman.c
|
|
../qcommon/md4.c
|
|
../qcommon/msg.c
|
|
../qcommon/net_chan.c
|
|
../qcommon/unzip.c
|
|
../qcommon/vm.c
|
|
../qcommon/vm_interpreted.c
|
|
../game/q_math.c
|
|
../game/q_shared.c
|
|
../unix/linux_common.c
|
|
../unix/unix_main.c
|
|
../unix/unix_net.c
|
|
../unix/unix_shared.c
|
|
../unix/linux_signals.c
|
|
);
|
|
$FILESREF = \@FILES;
|
|
|
|
if ($cpu eq 'i386')
|
|
{
|
|
push @FILES, qw(
|
|
../qcommon/vm_x86.c
|
|
);
|
|
}
|
|
elsif ($cpu eq 'ppc')
|
|
{
|
|
push @FILES, qw(
|
|
../qcommon/vm_ppc.c
|
|
);
|
|
}
|
|
else
|
|
{
|
|
push @FILES, qw(
|
|
../qcommon/vm_none.c
|
|
);
|
|
}
|
|
|
|
# DEDICATED_NAME is imported, holds the name of the target
|
|
# wolfded.x86 usually
|
|
Program $env $DEDICATED_NAME, @$FILESREF;
|
|
Install $env $INSTALL_DIR, $DEDICATED_NAME;
|