mirror of
https://github.com/ioquake/ioq3.git
synced 2025-05-29 16:11:31 +00:00
* Removed some Conscript
This commit is contained in:
parent
6b5cf6e248
commit
d5af2e3d45
5 changed files with 0 additions and 508 deletions
|
@ -1,138 +0,0 @@
|
|||
# cgame building
|
||||
# builds the cgame for vanilla Q3 and TA
|
||||
|
||||
# there are slight differences between Q3 and TA build:
|
||||
# -DMISSIONPACK
|
||||
# TA has cg_newdraw.c and ../ui/ui_shared.c
|
||||
# the config is passed in the imported variable TARGET_DIR
|
||||
|
||||
# qvm building against native:
|
||||
# only native has cg_syscalls.c
|
||||
# only qvm has ../game/bg_lib.c
|
||||
# qvm uses a custom cg_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 -DCGAME -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(
|
||||
cg_main.c
|
||||
../game/bg_misc.c
|
||||
../game/bg_pmove.c
|
||||
../game/bg_slidemove.c
|
||||
../game/q_math.c
|
||||
../game/q_shared.c
|
||||
cg_consolecmds.c
|
||||
cg_draw.c
|
||||
cg_drawtools.c
|
||||
cg_effects.c
|
||||
cg_ents.c
|
||||
cg_event.c
|
||||
cg_info.c
|
||||
cg_localents.c
|
||||
cg_marks.c
|
||||
cg_players.c
|
||||
cg_playerstate.c
|
||||
cg_predict.c
|
||||
cg_scoreboard.c
|
||||
cg_servercmds.c
|
||||
cg_snapshot.c
|
||||
cg_view.c
|
||||
cg_weapons.c
|
||||
);
|
||||
$FILESREF = \@FILES;
|
||||
|
||||
# only in .so
|
||||
# (VM uses a custom .asm with equ stubs)
|
||||
@SO_FILES = qw(
|
||||
cg_syscalls.c
|
||||
);
|
||||
$SO_FILESREF = \@SO_FILES;
|
||||
|
||||
# only for VM
|
||||
@VM_FILES = qw(
|
||||
../game/bg_lib.c
|
||||
cg_syscalls.asm
|
||||
);
|
||||
$VM_FILESREF = \@VM_FILES;
|
||||
|
||||
# common additionals for TA
|
||||
@TA_FILES = qw(
|
||||
cg_newdraw.c
|
||||
../ui/ui_shared.c
|
||||
);
|
||||
$TA_FILESREF = \@TA_FILES;
|
||||
|
||||
# FIXME CPU string
|
||||
if ($TARGET_DIR eq 'Q3')
|
||||
{
|
||||
if ($NO_SO eq 0)
|
||||
{
|
||||
Program $env 'cgamei386.so', @$FILESREF, @$SO_FILESREF;
|
||||
Install $env $INSTALL_DIR, 'cgamei386.so';
|
||||
}
|
||||
if ($NO_VM eq 0)
|
||||
{
|
||||
Depends $vm_env 'cgame.qvm', '#qvmtools/q3lcc';
|
||||
Depends $vm_env 'cgame.qvm', '#qvmtools/q3asm';
|
||||
Program $vm_env 'cgame.qvm', @$FILESREF, @$VM_FILESREF;
|
||||
Install $vm_env $INSTALL_DIR . '/vm', 'cgame.qvm';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($NO_SO eq 0)
|
||||
{
|
||||
Program $ta_env 'cgamei386.so',
|
||||
@$FILESREF, @$SO_FILESREF, @$TA_FILESREF;
|
||||
Install $ta_env $INSTALL_DIR, 'cgamei386.so';
|
||||
}
|
||||
if ($NO_VM eq 0)
|
||||
{
|
||||
Depends $vm_env 'cgame.qvm', '#qvmtools/q3lcc';
|
||||
Depends $vm_env 'cgame.qvm', '#qvmtools/q3asm';
|
||||
Program $vm_ta_env 'cgame.qvm',
|
||||
@$FILESREF, @$VM_FILESREF, @$TA_FILESREF;
|
||||
Install $vm_ta_env $INSTALL_DIR . '/vm', 'cgame.qvm';
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue