X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Fall%2Fxonotic.subr;h=f24a051229f249b9e4c2c9ecfa38fb0de2d2bd04;hp=bbc86c3d5402f29fb62573b9e8e9bf1a70f6fa9b;hb=35d70b5ce898799d88ae9a44311d212899dd1390;hpb=86bcfca17c1d646a3f11d0be32030de4b003b1ae diff --git a/misc/tools/all/xonotic.subr b/misc/tools/all/xonotic.subr index bbc86c3d..f24a0512 100644 --- a/misc/tools/all/xonotic.subr +++ b/misc/tools/all/xonotic.subr @@ -3,6 +3,24 @@ case "$cmd" in update-maps) misc/tools/xonotic-map-compiler-autobuild download ;; + compile-map) + if [ $# -eq 0 ] ; then + msg "Usage: ./all compile-map mapname1 mapname2 mapname3" + msg "For example: ./all compile-map dance xoylent" + fi + if ! [ -f "netradiant/install/q3map2" ] ; then + msg "q3map2 needed! Building netradiant..." + make -C netradiant BUILD=native install/q3map2 + fi + for mapfile in "$@"; do + mapfile="data/xonotic-maps.pk3dir/maps/$mapfile.map" + if [ ! -f "$mapfile" ] ; then + msg "ERROR, $mapfile not found!" + else + verbose measure_time misc/tools/xonotic-map-compiler-optionsfile "$mapfile" + fi + done + ;; compile) cleand0=false cleandp=false @@ -86,19 +104,22 @@ case "$cmd" in for X in $1; do case "$X" in sdl) - TARGETS="$TARGETS sdl-debug" + TARGETS="$TARGETS sdl-$debug" + if [ -n "$WE_HATE_OUR_USERS" ]; then + export PATH="$PATH:$d0/misc/builddeps/win32/sdl/bin" + fi ;; agl) - TARGETS="$TARGETS cl-debug" + TARGETS="$TARGETS cl-$debug" if $snowleopardhack; then export CC="$CC -arch i386" fi ;; glx|wgl) - TARGETS="$TARGETS cl-debug" + TARGETS="$TARGETS cl-$debug" ;; dedicated) - TARGETS="$TARGETS sv-debug" + TARGETS="$TARGETS sv-$debug" ;; *) BAD_TARGETS="$BAD_TARGETS $X" @@ -118,10 +139,23 @@ case "$cmd" in MAKEFLAGS=-j$ncpus fi if [ -n "$WE_HATE_OUR_USERS" ]; then - MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw LIB_JPEG= CFLAGS_LIBJPEG=" + MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw" fi fi + # win32: don't rely on jpeg includes + if [ -n "$WE_HATE_OUR_USERS" ]; then + MAKEFLAGS="$MAKEFLAGS LIB_JPEG= CFLAGS_LIBJPEG=" + fi + + # workaround ARM issue in DP's makefile.inc + case `uname -m` in + x86_64|*86) + ;; + *) + MAKEFLAGS="$MAKEFLAGS CFLAGS_SSE= CFLAGS_SSE2=" + ;; + esac if ! verbose $CC misc/tools/conftest.c -o conftest; then msg "" @@ -163,16 +197,24 @@ case "$cmd" in Linux) case `uname -m` in x86_64) - #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/ - #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_rijndael".* .libs/ - #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/ - MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_GMP_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/" + # No cp commands, we want to use static linking instead. + export CC="$CC -I../../../../misc/builddeps/linux64/d0_blind_id/include" + export CC="$CC -L../../../../misc/builddeps/linux64/d0_blind_id/lib" + export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux64/d0_blind_id/lib" + export CC="$CC -I../../../../misc/builddeps/linux64/gmp/include" + export CC="$CC -L../../../../misc/builddeps/linux64/gmp/lib" + export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux64/gmp/lib" + MAKEFLAGS="$MAKEFLAGS DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=shared LIB_CRYPTO=../../../../misc/builddeps/linux64/d0_blind_id/lib/libd0_blind_id.a LIB_CRYPTO+=../../../../misc/builddeps/linux64/gmp/lib/libgmp.a LIB_CRYPTO_RIJNDAEL=../../../../misc/builddeps/linux64/d0_blind_id/lib/libd0_rijndael.a" ;; *86) - #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/ - #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_rijndael".* .libs/ - #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/ - MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_GMP_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/" + # No cp commands, we want to use static linking instead. + export CC="$CC -I../../../../misc/builddeps/linux32/d0_blind_id/include" + export CC="$CC -L../../../../misc/builddeps/linux32/d0_blind_id/lib" + export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux32/d0_blind_id/lib" + export CC="$CC -I../../../../misc/builddeps/linux32/gmp/include" + export CC="$CC -L../../../../misc/builddeps/linux32/gmp/lib" + export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux32/gmp/lib" + MAKEFLAGS="$MAKEFLAGS DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=shared LIB_CRYPTO=../../../../misc/builddeps/linux32/d0_blind_id/lib/libd0_blind_id.a LIB_CRYPTO+=../../../../misc/builddeps/linux32/gmp/lib/libgmp.a LIB_CRYPTO_RIJNDAEL=../../../../misc/builddeps/linux32/d0_blind_id/lib/libd0_rijndael.a" ;; *) compiled0=true @@ -202,37 +244,21 @@ case "$cmd" in verbose make $MAKEFLAGS fi - if [ x"$USE_FTEQCC" = x"yes" ]; then - verbose cd "$d0/fteqcc" - if $cleanqcc; then - verbose make $MAKEFLAGS clean - fi - verbose make $MAKEFLAGS - - verbose cd "$d0/data/xonotic-data.pk3dir" - if $cleanqc; then - verbose make QCC="../../../../fteqcc/fteqcc.bin" FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean - #verbose make QCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean - fi - verbose make QCC="../../../../fteqcc/fteqcc.bin" FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS - #verbose make QCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS + verbose cd "$d0/gmqcc" + if $cleanqcc; then + verbose make $MAKEFLAGS clean + fi + if [ -n "$WE_HATE_OUR_USERS" ]; then + verbose make $MAKEFLAGS gmqcc.exe else - verbose cd "$d0/gmqcc" - if $cleanqcc; then - verbose make $MAKEFLAGS clean - fi - if [ -n "$WE_HATE_OUR_USERS" ]; then - verbose make $MAKEFLAGS gmqcc.exe - else - verbose make $MAKEFLAGS gmqcc - fi + verbose make $MAKEFLAGS gmqcc + fi - verbose cd "$d0/data/xonotic-data.pk3dir" - if $cleanqc; then - verbose make QCC="../../../../gmqcc/qmqcc" "$@" $MAKEFLAGS clean - fi - verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS + verbose cd "$d0/data/xonotic-data.pk3dir" + if $cleanqc; then + verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS clean fi + verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS # 4 levels up: data, xonotic-data, qcsrc, server verbose cd "$d0/darkplaces" @@ -310,10 +336,10 @@ case "$cmd" in set -- catchsegv "$@" fi if [ x"$USE_RLWRAP" != x"no" ] && which rlwrap >/dev/null 2>&1; then - set -- rlwrap -A -g '^quit' -q "\"" -r -S ']' -w 100 "$@" + set -- rlwrap -A -g '^quit' -q "\"" -s 10000 -S ']' -w 100 "$@" fi rm -f xonotic.core - "$@" || true + verbose measure_time "$@" || true if [ -f xonotic.core ]; then if yesno "The program has CRASHED. Do you want to examine the core dump?"; then gdb "$binary" xonotic.core @@ -332,6 +358,7 @@ case "$cmd" in $ECHO " $SELF compile [-c] [-r|-p] [-0] [sdl|glx|wgl|agl|dedicated]" $ECHO " $SELF update-maps" $ECHO " $SELF run [sdl|glx|wgl|agl|dedicated] options..." + $ECHO " $SELF compile-map mapname1 mapname2... (e.g. \"./all compile-map dance drain fuse\")" handled=false ;; *)