# ui Import qw( BASE_CFLAGS CONFIG_DIR BUILD_DIR BASEGAME do_lddabort CC CXX LINK ); $env = new cons( CC => $CC, CXX => $CXX, LINK => $LINK, CPPPATH => '#../game', # needed for ui_ files CFLAGS => $BASE_CFLAGS . '-fPIC', LDFLAGS => '-shared -ldl -lm' ); # some files are compiled and linked in to several .so # this confuses gdb when setting breakpoints @UI_FILES_IN = qw ( ../game/bg_misc.c ../game/q_math.c ../game/q_shared.c ); # run through and process into ui specific my @UI_FILES_OUT; foreach (@UI_FILES_IN) { $source = $_; $source =~ s/.*\/(.*)/..\/ui\/ui_\1/; push @UI_FILES_OUT, $source; } InstallAs $env [@UI_FILES_OUT], [@UI_FILES_IN]; $UI_FILESREF = \@UI_FILES_OUT; @FILES = qw( ../ui/ui_atoms.c ../ui/ui_gameinfo.c ../ui/ui_main.c ../ui/ui_players.c ../ui/ui_shared.c ../ui/ui_syscalls.c ../ui/ui_util.c ); $FILESREF = \@FILES; # FIXME CPU string Program $env 'ui.mp.i386.so', @$FILESREF, @$UI_FILESREF; my $path = FilePath('ui.mp.i386.so'); AfterBuild $env 'ui.mp.i386.so', "[perl] &ldd_check::do_check(\'$path\', $do_lddabort)"; Install $env '#' . $CONFIG_DIR . '/out/' . $BASEGAME, 'ui.mp.i386.so';