diff options
Diffstat (limited to 'code/game/Conscript')
| -rw-r--r-- | code/game/Conscript | 140 | 
1 files changed, 0 insertions, 140 deletions
| diff --git a/code/game/Conscript b/code/game/Conscript deleted file mode 100644 index 5fdf815..0000000 --- a/code/game/Conscript +++ /dev/null @@ -1,140 +0,0 @@ -# game building -# builds the game for vanilla Q3 and TA - -# there are slight differences between Q3 and TA build: -#   -DMISSIONPACK -# the config is passed in the imported variable TARGET_DIR - -# qvm building against native: -# only native has g_syscalls.c -# only qvm has ../game/bg_lib.c -# qvm uses a custom g_syscalls.asm with equ stubs - -Import qw( BASE_CFLAGS TARGET_DIR INSTALL_DIR NO_VM NO_SO CC CXX LINK ); - -$env = new cons( -  # the code has the very bad habit of doing things like #include "../ui/ui_shared.h" -  # this seems to confuse the dependency analysis, explicit toplevel includes seem to fix -  CPPPATH => '#cgame:#game:#q3_ui', -  CC => $CC, -  CXX => $CXX, -  LINK => $LINK, -	ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} }, -  CFLAGS => $BASE_CFLAGS . '-fPIC', -  LDFLAGS => '-shared -ldl -lm' -); - -# for TA, use -DMISSIONPACK -%ta_env_hash = $env->copy( -  CPPPATH => '#cgame:#game:#ui' -  ); -$ta_env_hash{CFLAGS} = '-DMISSIONPACK ' . $ta_env_hash{CFLAGS}; -$ta_env = new cons(%ta_env_hash); - -# qvm building -# we heavily customize the cons environment -$vm_env = new cons( -  # the code has the very bad habit of doing things like #include "../ui/ui_shared.h" -  # this seems to confuse the dependency analysis, explicit toplevel includes seem to fix -  CPPPATH => '#cgame:#game:#q3_ui', -  CC => 'q3lcc', -  CCCOM => '%CC %CFLAGS %_IFLAGS -c %< -o %>', -  SUFOBJ => '.asm', -  LINK => 'q3asm', -  CFLAGS => '-DQ3_VM -S -Wf-target=bytecode -Wf-g', -  # need to know where to find the compiler tools -  ENV => { PATH => $ENV{PATH} . ":./qvmtools", }, -); - -# TA qvm building -%vm_ta_env_hash = $vm_env->copy( -  CPPPATH => '#cgame:#game:#ui' -  ); -$vm_ta_env_hash{CFLAGS} = '-DMISSIONPACK ' . $vm_ta_env_hash{CFLAGS}; -$vm_ta_env = new cons(%vm_ta_env_hash); - -# the file with vmMain function MUST be the first one of the list -@FILES = qw( -  g_main.c -  ai_chat.c -  ai_cmd.c -  ai_dmnet.c -  ai_dmq3.c -  ai_main.c -  ai_team.c -  ai_vcmd.c -  bg_misc.c -  bg_pmove.c -  bg_slidemove.c -  g_active.c -  g_arenas.c -  g_bot.c -  g_client.c -  g_cmds.c -  g_combat.c -  g_items.c -  g_mem.c -  g_misc.c -  g_missile.c -  g_mover.c -  g_session.c -  g_spawn.c -  g_svcmds.c -  g_target.c -  g_team.c -  g_trigger.c -  g_utils.c -  g_weapon.c -  q_math.c -  q_shared.c -  ); -$FILESREF = \@FILES; - -# only in .so -# (VM uses a custom .asm with equ stubs) -@SO_FILES = qw( -  g_syscalls.c -  ); -$SO_FILESREF = \@SO_FILES; -   -# only for VM -@VM_FILES = qw( -  bg_lib.c -  g_syscalls.asm -  ); -$VM_FILESREF = \@VM_FILES;   - -# FIXME CPU string? -# NOTE: $env $ta_env and $vm_env $vm_ta_env may not be necessary -#   we could alter the $env and $ta_env based on $TARGET_DIR -#   doing it this way to ensure homogeneity with cgame building -if ($TARGET_DIR eq 'Q3') -{ -	if ($NO_SO eq 0) -	{ -		Program $env 'qagamei386.so', @$FILESREF, @$SO_FILESREF; -		Install $env $INSTALL_DIR, 'qagamei386.so'; -	} -	if ($NO_VM eq 0) -	{ -    Depends $vm_env 'qagame.qvm', '#qvmtools/q3lcc'; -    Depends $vm_env 'qagame.qvm', '#qvmtools/q3asm'; -		Program $vm_env 'qagame.qvm', @$FILESREF, @$VM_FILESREF; -		Install $vm_env $INSTALL_DIR . '/vm', 'qagame.qvm'; -	} -} -else -{ -	if ($NO_SO eq 0) -	{ -		Program $ta_env 'qagamei386.so', @$FILESREF, @$SO_FILESREF; -		Install $ta_env $INSTALL_DIR, 'qagamei386.so'; -	} -	if ($NO_VM eq 0) -	{ -    Depends $vm_env 'qagame.qvm', '#qvmtools/q3lcc'; -    Depends $vm_env 'qagame.qvm', '#qvmtools/q3asm'; -		Program $vm_ta_env 'qagame.qvm', @$FILESREF, @$VM_FILESREF;     -		Install $vm_ta_env $INSTALL_DIR . '/vm', 'qagame.qvm'; -	} -} | 
