aboutsummaryrefslogtreecommitdiffstats
path: root/code/cgame/Conscript
diff options
context:
space:
mode:
Diffstat (limited to 'code/cgame/Conscript')
-rwxr-xr-xcode/cgame/Conscript276
1 files changed, 138 insertions, 138 deletions
diff --git a/code/cgame/Conscript b/code/cgame/Conscript
index 887a2a1..0cac8ff 100755
--- a/code/cgame/Conscript
+++ b/code/cgame/Conscript
@@ -1,138 +1,138 @@
-# 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';
- }
-}
+# 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';
+ }
+}