2005-01-23 17:44:11 +00:00
CC = gcc
2007-10-25 17:59:01 +00:00
WINDRES = windres
2013-06-04 16:08:00 +00:00
STRIP ?= echo strip
2006-05-02 00:11:29 +00:00
STRIPFLAGS = --strip-unneeded --remove-section= .comment
2005-01-23 17:44:11 +00:00
CPUOPTIMIZATIONS =
2013-05-11 05:03:07 +00:00
#canonicalize the source path. except emscripten warns about that like crazy. *sigh*
i f e q ( $( FTE_TARGET ) , w e b )
BASE_DIR:= .
2013-06-04 16:08:00 +00:00
e l s e i f e q ( $( FTE_TARGET ) , d r o i d )
BASE_DIR:= .
2013-05-11 14:02:55 +00:00
e l s e
BASE_DIR:= $( realpath .)
2013-05-11 05:03:07 +00:00
e n d i f
2005-01-23 17:44:11 +00:00
2009-07-25 13:21:40 +00:00
SVNREVISION := -DSVNREVISION= $( shell test -d .svn && svnversion || echo -)
2009-07-25 11:22:28 +00:00
2013-05-11 05:03:07 +00:00
WHOAMI := $( shell whoami)
2011-07-08 09:17:23 +00:00
2007-09-02 19:55:17 +00:00
#only limited forms of cross-making is supported
#only the following 3 are supported
2009-04-06 02:45:11 +00:00
#linux->win32 (FTE_TARGET=win32) RPM Package: "mingw32-gcc", DEB Package: "mingw32"
#linux->linux32 (FTE_TARGET=linux32)
#linux->linux64 (FTE_TARGET=linux64)
2013-04-09 21:31:44 +00:00
#linux->morphos (FTE_TARGET=morphos)
#linux->macosx (FTE_TARGET=macosx) or (FTE_TARGET=macosx_x86)
2013-05-11 14:10:06 +00:00
#linux->javascript (FTE_TARGET=web)
#linux->nacl (FTE_TARGET=nacl NARCH=x86_64)
#if you are cross compiling, you'll need to use FTE_TARGET=mytarget
2005-12-15 19:15:39 +00:00
2013-11-28 00:45:22 +00:00
#cygwin's make's paths confuses non-cygwin things
RELEASE_DIR = $( BASE_DIR) /release
DEBUG_DIR = $( BASE_DIR) /debug
PROFILE_DIR = $( BASE_DIR) /profile
i f n e q ( $( shell uname -o 2>&1 | grep Cygwin ) , )
NATIVE_RELEASE_DIR = $( shell cygpath -m $( RELEASE_DIR) )
NATIVE_DEBUG_DIR = $( shell cygpath -m $( DEBUG_DIR) )
e n d i f
2013-11-28 01:41:55 +00:00
NATIVE_RELEASE_DIR ?= $( RELEASE_DIR)
NATIVE_DEBUG_DIR ?= $( DEBUG_DIR)
2013-11-28 00:45:22 +00:00
2007-07-23 18:55:10 +00:00
#correct the gcc build when cross compiling
i f e q ( $( FTE_TARGET ) , w i n 3 2 )
ifeq ( $( shell $( CC) -v 2>& 1 | grep mingw) ,)
#CC didn't state that it was mingw... so try fixing that up
2013-10-08 16:49:42 +00:00
#old/original mingw project, headers are not very up to date.
2007-10-14 22:02:30 +00:00
ifneq ( $( shell which i586-mingw32msvc-gcc 2> /dev/null) ,)
2007-09-02 19:55:17 +00:00
#yup, the alternative exists (this matches the one debian has)
CC = i586-mingw32msvc-gcc
2007-10-26 09:05:59 +00:00
WINDRES = i586-mingw32msvc-windres
2008-11-18 03:20:10 +00:00
STRIP = i586-mingw32msvc-strip
2013-10-08 16:49:42 +00:00
# BITS?=32
endif
#mingw64 provides a 32bit toolchain too, which has more up to date header files than the mingw32 project. so favour that if its installed.
ifneq ( $( shell which i686-w64-mingw32-gcc 2> /dev/null) ,)
#yup, the alternative exists (this matches the one debian has)
CC = i686-w64-mingw32-gcc
WINDRES = i686-w64-mingw32-windres
STRIP = i686-w64-mingw32-strip
2007-09-02 19:55:17 +00:00
# BITS?=32
endif
2007-07-23 18:55:10 +00:00
endif
e n d i f
2007-11-02 00:30:47 +00:00
2010-12-08 14:42:05 +00:00
#correct the gcc build when cross compiling
i f e q ( $( FTE_TARGET ) , w i n 6 4 )
ifeq ( $( shell $( CC) -v 2>& 1 | grep mingw) ,)
#CC didn't state that it was mingw... so try fixing that up
2012-09-30 05:52:03 +00:00
ifneq ( $( shell which x86_64-w64-mingw32-gcc 2> /dev/null) ,)
#yup, the alternative exists (this matches the one debian has)
CC = x86_64-w64-mingw32-gcc -m64
WINDRES = x86_64-w64-mingw32-windres
STRIP = x86_64-w64-mingw32-strip
2012-10-24 12:49:23 +00:00
# BITS=64
endif
ifneq ( $( shell which amd64-mingw32msvc-gcc 2> /dev/null) ,)
#yup, the alternative exists (this matches the one debian has)
CC = amd64-mingw32msvc-gcc -m64
WINDRES = amd64-mingw32msvc-windres
STRIP = amd64-mingw32msvc-strip
2011-07-08 09:17:23 +00:00
# BITS=64
2010-12-08 14:42:05 +00:00
endif
endif
e n d i f
2011-07-08 19:43:49 +00:00
i f e q ( $( FTE_TARGET ) , w i n 3 2 _ s d l )
FTE_TARGET = win32_SDL
e n d i f
2013-03-12 23:09:25 +00:00
USER_TARGET := $( FTE_TARGET)
2013-12-03 15:15:50 +00:00
#make droid-rel doesn't get the right stuff
#add an autoexec file. its only small.
DROID_PACKSU ?= $( BASE_DIR) /droid/autoexec.cfg
2013-04-09 21:31:44 +00:00
ANDROID_NDK_ROOT ?= ~/android-ndk-r8e
ANDROID_HOME ?= ~/android-sdk-linux
2012-01-17 07:57:46 +00:00
ANT ?= ant
2013-04-03 09:52:09 +00:00
JAVATOOL = $( JAVA_HOME) /bin/
2012-07-21 07:36:26 +00:00
ANDROID_SCRIPT = android
2012-05-11 01:20:36 +00:00
2012-02-27 12:23:15 +00:00
i f e q ( $( DROID_ARCH ) , )
DROID_ARCH = armeabi
e n d i f
2011-09-05 01:48:23 +00:00
i f e q ( $( FTE_TARGET ) , d r o i d )
2012-01-17 07:57:46 +00:00
#if we're running under windows, then we want to run some other binary
ifeq ( $( shell uname -o 2>& 1 | grep Cygwin) ,)
#set up for linux
2013-04-09 21:31:44 +00:00
TOOLCHAIN:= $( ANDROID_NDK_ROOT) /toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/arm-linux-androideabi-
2012-01-17 07:57:46 +00:00
else
2013-11-28 00:45:22 +00:00
#FIXME: support mingw too...
2012-01-17 07:57:46 +00:00
#we're running upon windows
2012-02-27 12:23:15 +00:00
ifeq ( $( DROID_ARCH) ,x86)
2013-06-04 16:08:00 +00:00
TOOLCHAIN:= $( ANDROID_NDK_ROOT) /toolchains/x86-4.7/prebuilt/windows-x86_64/bin/i686-linux-android-
2012-02-27 12:23:15 +00:00
else
2013-06-04 16:08:00 +00:00
TOOLCHAIN:= $( ANDROID_NDK_ROOT) /toolchains/arm-linux-androideabi-4.7/prebuilt/windows-x86_64/bin/arm-linux-androideabi-
2012-02-27 12:23:15 +00:00
endif
2012-07-21 07:36:26 +00:00
ANDROID_SCRIPT = android.bat
2013-05-11 05:03:07 +00:00
#make can't cope with absolute win32 paths in dependancy files
DEPCC =
2012-01-17 07:57:46 +00:00
endif
2011-09-05 01:48:23 +00:00
2012-01-17 07:57:46 +00:00
DROID_API_LEVEL = 4
2011-09-22 15:57:16 +00:00
2012-02-27 12:23:15 +00:00
ifeq ( $( DROID_ARCH) ,x86)
DROID_PLAT_INC = arch-x86
#google fecked up. anything before api_level 9 will fail to compile on x86
DROID_API_LEVEL = 9
else
DROID_PLAT_INC = arch-arm
#there are 3 ABI targets
#armv5 (works on all arm droids)
#armv7 (more common on 2.2+ droids)
#armv7+neon
DROID_ABI?= -mfloat-abi= softfp
endif
2011-09-22 15:57:16 +00:00
2012-01-17 07:57:46 +00:00
STRIP = $( TOOLCHAIN) strip
2013-04-09 21:31:44 +00:00
CC = $( TOOLCHAIN) gcc -I$( ANDROID_NDK_ROOT) /platforms/android-$( DROID_API_LEVEL) /$( DROID_PLAT_INC) /usr/include/ -DANDROID $( DROID_ABI) -fno-strict-aliasing
DO_LD = $( DO_ECHO) $( CC) -Wl,-soname,libftedroid.so -shared -Wl,--no-undefined -Wl,-z,noexecstack --sysroot= $( ANDROID_NDK_ROOT) /platforms/android-$( DROID_API_LEVEL) /$( DROID_PLAT_INC) -L$( NDK_PATH) /platforms/android-$( DROID_API_LEVEL) /$( DROID_PLAT_INC) /usr/lib -o $@ $( LTO_LD) $( WCFLAGS) $( CFLAGS) -llog -lc -lz -lm
2011-09-05 01:48:23 +00:00
e n d i f
2009-04-08 08:12:29 +00:00
#correct the gcc build when cross compiling
2011-07-08 19:43:49 +00:00
i f e q ( $( FTE_TARGET ) , w i n 3 2 _ S D L )
2009-04-08 08:12:29 +00:00
ifeq ( $( shell $( CC) -v 2>& 1 | grep mingw) ,)
#CC didn't state that it was mingw... so try fixing that up
ifneq ( $( shell which i586-mingw32msvc-gcc 2> /dev/null) ,)
#yup, the alternative exists (this matches the one debian has)
CC = i586-mingw32msvc-gcc
WINDRES = i586-mingw32msvc-windres
STRIP = i586-mingw32msvc-strip
2011-07-08 09:17:23 +00:00
# BITS=32
2009-04-08 08:12:29 +00:00
endif
endif
e n d i f
2011-07-08 19:43:49 +00:00
i f e q ( $( FTE_TARGET ) , w i n 6 4 _ s d l )
FTE_TARGET = win64_SDL
e n d i f
2010-12-10 13:41:31 +00:00
#correct the gcc build when cross compiling
2011-07-08 19:43:49 +00:00
i f e q ( $( FTE_TARGET ) , w i n 6 4 _ S D L )
2010-12-10 13:41:31 +00:00
ifeq ( $( shell $( CC) -v 2>& 1 | grep mingw) ,)
#CC didn't state that it was mingw... so try fixing that up
ifneq ( $( shell which amd64-mingw32msvc-gcc 2> /dev/null) ,)
#yup, the alternative exists (this matches the one debian has)
CC = amd64-mingw32msvc-gcc -m64
WINDRES = amd64-mingw32msvc-windres
STRIP = amd64-mingw32msvc-strip
2011-07-08 09:17:23 +00:00
# BITS=64
2010-12-10 13:41:31 +00:00
endif
endif
e n d i f
2007-11-02 00:30:47 +00:00
#crosscompile macosx from linux, default target ppc 32bit
i f e q ( $( FTE_TARGET ) , m a c o s x )
ifeq ( $( shell $( CC) -v 2>& 1 | grep apple) ,)
ifneq ( $( shell which powerpc-apple-darwin8-gcc 2> /dev/null) ,)
CC = powerpc-apple-darwin8-gcc
STRIP = powerpc-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS =
BITS = 32
EXTENSION = _ppc
endif
endif
e n d i f
i f e q ( $( FTE_TARGET ) , m a c o s x _ p p c 6 4 )
ifeq ( $( shell $( CC) -v 2>& 1 | grep apple) ,)
ifneq ( $( shell which powerpc-apple-darwin8-gcc 2> /dev/null) ,)
FTE_TARGET = macosx
CC = powerpc-apple-darwin8-gcc -arch ppc64
STRIP = powerpc-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS =
BITS = 64
EXTENSION = _ppc
endif
endif
e n d i f
i f e q ( $( FTE_TARGET ) , m a c o s x _ x 8 6 )
ifeq ( $( shell $( CC) -v 2>& 1 | grep apple) ,)
ifneq ( $( shell which i686-apple-darwin8-gcc 2> /dev/null) ,)
FTE_TARGET = macosx
# i686-apple-darwin8-gcc's default target is i386, powerpc-apple-darwin8-gcc -arch i386 just invokes i686-apple-darwin8-gcc anyway
CC = i686-apple-darwin8-gcc
STRIP = i686-apple-darwin8-strip
#seems, macosx has a more limited version of strip
STRIPFLAGS =
EXTENSION = _x86
endif
endif
e n d i f
#crosscompile morphos from linux
i f e q ( $( FTE_TARGET ) , m o r p h o s )
ifeq ( $( shell $( CC) -v 2>& 1 | grep morphos) ,)
ifneq ( $( shell which ppc-morphos-gcc 2> /dev/null) ,)
CC = ppc-morphos-gcc
#morphos strip has a 'feature', it strips permissions
STRIP = ppc-morphos-strip
endif
endif
e n d i f
2007-09-02 19:55:17 +00:00
#if you have an x86, you can get gcc to build 32bit or 64bit specific builds, instead of builds for the native platform
i f e q ( $( FTE_TARGET ) , l i n u x 3 2 )
FTE_TARGET = linux
CC = gcc -m32
BITS = 32
e n d i f
i f e q ( $( FTE_TARGET ) , l i n u x 6 4 )
FTE_TARGET = linux
CC = gcc -m64
BITS = 64
e n d i f
2005-12-15 19:15:39 +00:00
2005-01-23 17:44:11 +00:00
i f e q ( $( FTE_TARGET ) , ) #user didn't specify prefered target
2013-11-21 23:02:28 +00:00
ifneq ( $( shell uname 2>& 1 | grep CYGWIN) ,)
2005-12-15 19:15:39 +00:00
FTE_TARGET = cygwin
2012-09-30 05:52:03 +00:00
ANDROID_SCRIPT = android.bat
2005-12-15 19:15:39 +00:00
endif
2013-11-21 23:02:28 +00:00
ifneq ( $( shell $( CC) -v 2>& 1 | grep mingw) ,)
FTE_TARGET = win32
endif
2005-12-15 19:15:39 +00:00
ifeq ( $( FTE_TARGET) ,) #still not set
2005-01-23 17:44:11 +00:00
ifeq ( $( shell uname) ,Linux)
FTE_TARGET = linux
2005-05-20 03:33:10 +00:00
endif
2007-09-22 19:28:27 +00:00
ifeq ( $( shell uname) ,Darwin)
FTE_TARGET = macosx
endif
2005-05-20 08:13:48 +00:00
ifeq ( $( shell uname) ,FreeBSD)
FTE_TARGET = bsd
endif
ifeq ( $( shell uname) ,NetBSD)
FTE_TARGET = bsd
endif
ifeq ( $( shell uname) ,OpenBSD)
FTE_TARGET = bsd
endif
2006-03-06 22:15:40 +00:00
ifeq ( $( shell uname) ,MorphOS)
FTE_TARGET = morphos
endif
2005-05-20 08:13:48 +00:00
#else I've no idea what it is you're running
2005-01-23 17:44:11 +00:00
endif
2013-11-21 23:02:28 +00:00
FTE_TARGET ?= unk #so go for sdl.
2005-01-23 17:44:11 +00:00
e n d i f
2005-11-21 22:16:53 +00:00
i f n e q ( $( shell ls |grep config .h ) , )
HAVECONFIG = -DHAVE_CONFIG_H
e n d i f
2005-01-23 17:44:11 +00:00
CLIENT_DIR = $( BASE_DIR) /client
GL_DIR = $( BASE_DIR) /gl
2011-03-03 12:57:34 +00:00
D3D_DIR = $( BASE_DIR) /d3d
2005-01-23 17:44:11 +00:00
SERVER_DIR = $( BASE_DIR) /server
COMMON_DIR = $( BASE_DIR) /common
HTTP_DIR = $( BASE_DIR) /http
2005-01-24 23:47:32 +00:00
#LIBS_DIR=$(BASE_DIR)/libs
LIBS_DIR ?= .
2005-01-23 17:44:11 +00:00
PROGS_DIR = $( BASE_DIR) /qclib
2012-04-09 19:12:12 +00:00
NACL_DIR = $( BASE_DIR) /nacl
2012-03-25 11:15:37 +00:00
BOTLIB_DIR = $( BASE_DIR) /botlib
2005-01-23 17:44:11 +00:00
2013-09-30 00:03:16 +00:00
ALL_CFLAGS = $( HAVECONFIG) $( VISIBILITY_FLAGS) $( CFLAGS) $( BASE_CFLAGS) $( WCFLAGS)
2005-11-21 22:16:53 +00:00
2011-03-12 13:51:40 +00:00
#cheap compile-everything-in-one-unit (compile becomes preprocess only)
i f n e q ( $( WPO ) , )
LTO_CC = -E
LTO_LD = -combine -fwhole-program -x c
LTO_END = ltoxnone
LTO_START = ltoxc
e n d i f
#proper/consistant link-time optimisations (requires gcc 4.5+ or so)
i f n e q ( $( LTO ) , )
LTO_CC = -flto
LTO_LD = -flto
e n d i f
2013-03-12 22:47:42 +00:00
#DO_ECHO=@echo $< &&
DO_ECHO = @
2013-03-12 23:03:46 +00:00
#DO_ECHO=
2013-03-12 22:47:42 +00:00
DO_CC = $( DO_ECHO) $( CC) $( LTO_CC) $( ALL_CFLAGS) -o $@ -c $<
2005-12-21 03:07:33 +00:00
2009-11-04 21:16:50 +00:00
i f e q ( $( FTE_TARGET ) , v c )
BASELDFLAGS =
e n d i f
2005-12-21 03:07:33 +00:00
i f e q ( $( FTE_TARGET ) , c y g w i n )
BASELDFLAGS = -lm
e n d i f
2006-03-06 22:15:40 +00:00
i f e q ( $( FTE_TARGET ) , m o r p h o s )
BASELDFLAGS = -lm
e n d i f
2006-03-14 01:29:45 +00:00
i f e q ( $( FTE_TARGET ) , b s d )
BASELDFLAGS = -lm
2013-09-30 00:03:16 +00:00
VISIBILITY_FLAGS = -fvisibility= hidden
e n d i f
i f e q ( $( FTE_TARGET ) , l i n u x )
VISIBILITY_FLAGS = -fvisibility= hidden
e n d i f
i f e q ( $( FTE_TARGET ) , d r o i d )
VISIBILITY_FLAGS = -fvisibility= hidden
e n d i f
i f e q ( $( FTE_TARGET ) , m a c o s x )
VISIBILITY_FLAGS = -fvisibility= hidden
2006-03-14 01:29:45 +00:00
e n d i f
2007-07-23 18:55:10 +00:00
BASELDFLAGS ?= -lm -ldl -lpthread
2005-12-21 03:07:33 +00:00
2013-11-21 23:29:24 +00:00
i f e q ( $( shell echo $ ( FTE_TARGET ) |grep -v win ) , )
BASELDFLAGS = -lm
MINGW_LIBS_DIR = $( LIBS_DIR) /mingw-libs
ifeq ( $( shell echo $( FTE_TARGET) | grep -v win64) ,)
MINGW_LIBS_DIR = $( LIBS_DIR) /mingw64-libs
endif
IMAGELDFLAGS = $( MINGW_LIBS_DIR) /libpng.a $( MINGW_LIBS_DIR) /libz.a $( MINGW_LIBS_DIR) /libjpeg.a
OGGVORBISLDFLAGS = $( MINGW_LIBS_DIR) /libvorbisfile.a $( MINGW_LIBS_DIR) /libvorbis.a $( MINGW_LIBS_DIR) /libogg.a
ifeq ( $( shell echo $( FTE_TARGET) | grep -v -i _SDL) ,)
RELEASE_CFLAGS += -D_SDL
SDL_LDFLAGS = $( MINGW_LIBS_DIR) /libSDL.a $( MINGW_LIBS_DIR) /libSDLmain.a -L./libs/mingw64-libs
endif
e n d i f
2011-07-08 09:17:23 +00:00
2009-04-08 08:12:29 +00:00
IMAGELDFLAGS ?= -lpng -ljpeg
2012-10-25 04:52:55 +00:00
OGGVORBISLDFLAGS ?= -lvorbisfile -lvorbis -logg
2013-09-30 00:03:16 +00:00
VISIBILITY_FLAGS ?=
2007-09-17 20:35:39 +00:00
2005-10-14 18:30:13 +00:00
#BASELDFLAGS=-lm -lz
2013-05-04 04:48:14 +00:00
XLDFLAGS = $( IMAGELDFLAGS)
2005-01-23 17:44:11 +00:00
2013-09-29 17:07:57 +00:00
#hack some other arguments based upon the toolchain
2009-11-04 21:16:50 +00:00
i f e q ( $( FTE_TARGET ) , v c )
WARNINGFLAGS = -W3 -D_CRT_SECURE_NO_WARNINGS
GNUC_FUNCS =
e l s e
2013-03-12 22:47:42 +00:00
WARNINGFLAGS = -Wall -Wno-pointer-sign -Wno-unknown-pragmas -Wno-format-zero-length
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
GNUC_FUNCS = -Dstrnicmp= strncasecmp -Dstricmp= strcasecmp
2009-11-04 21:16:50 +00:00
e n d i f
2013-04-02 05:18:17 +00:00
SDL_INCLUDES = -I$( LIBS_DIR) /sdl/include -I/usr/include/SDL -I$( LIBS_DIR) /sdl/include/SDL
BOTLIB_CFLAGS = -I$( BOTLIB_DIR) -DBOTLIB
BASE_CFLAGS = $( WARNINGFLAGS) $( GNUC_FUNCS) -I$( CLIENT_DIR) -I$( SERVER_DIR) -I$( COMMON_DIR) -I$( GL_DIR) -I$( D3D_DIR) -I$( PROGS_DIR) -I. -I$( LIBS_DIR) -I$( LIBS_DIR) /dxsdk9/include -I$( LIBS_DIR) /dxsdk7/include $( SDL_INCLUDES) -I./libs/freetype2/include -I./libs/freetype2/include/freetype -I./libs/speex $( BOTLIB_CFLAGS) $( SVNREVISION)
2005-01-23 17:44:11 +00:00
CLIENT_ONLY_CFLAGS = -DCLIENTONLY
SERVER_ONLY_CFLAGS = -DSERVERONLY
JOINT_CFLAGS =
2013-05-13 13:43:18 +00:00
DEBUG_CFLAGS = -ggdb -g -DDEBUG
2011-10-29 19:01:33 +00:00
RELEASE_CFLAGS ?= -O3 -ffast-math $( CPUOPTIMIZATIONS)
2007-10-12 10:27:51 +00:00
2011-07-08 09:17:23 +00:00
#incase our compiler doesn't support it (mingw)
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
i f e q ( $( shell LANG =c $ ( CC ) -rdynamic 2>&1 | grep unrecognized ) , )
2011-07-08 09:17:23 +00:00
DEBUG_CFLAGS += -rdynamic
2010-12-10 13:41:31 +00:00
e n d i f
2009-09-02 15:14:50 +00:00
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
OBJS += $( SPEEX_OBJS)
2011-07-08 09:17:23 +00:00
PROFILE_CFLAGS = -pg
DX7SDK = -I./libs/dxsdk7/include/
2007-10-12 10:27:51 +00:00
2005-01-23 17:44:11 +00:00
GLCFLAGS = -DGLQUAKE
------------------------------------------------------------------------
r4169 | acceptthis | 2013-01-17 08:55:12 +0000 (Thu, 17 Jan 2013) | 31 lines
removed MAX_VISEDICTS limit.
PEXT2_REPLACEMENTDELTAS tweaked, now has 4 million entity limit. still not enabled by default.
TE_BEAM now maps to a separate TEQW_BEAM to avoid conflicts with QW.
added android multitouch emulation for windows/rawinput (in_simulatemultitouch).
split topcolor/bottomcolor from scoreboard, for dp's colormap|1024 feature.
now using utf-8 for windows consoles.
qcc warnings/errors now give clickable console links for quick+easy editing.
disabled menutint when the currently active item changes contrast or gamma (for OneManClan).
Added support for drawfont/drawfontscale.
tweaked the qcvm a little to reduce the number of pointers.
.doll file loading. still experimental and will likely crash. requires csqc active, even if its a dummy progs. this will be fixed in time. Still other things that need cleaning up.
windows: gl_font "?" shows the standard windows font-selection dialog, and can be used to select windows fonts. not all work. and you probably don't want to use windings.
fixed splitscreen support when playing mvds. added mini-scoreboards to splitscreen.
editor/debugger now shows asm if there's no linenumber info. also, pressing f1 for help shows the shortcuts.
Added support for .framegroups files for psk(psa) and iqm formats.
True support for ezquake's colour codes. Mutually exclusive with background colours.
path command output slightly more readable.
added support for digest_hex (MD4, SHA1, CRC16).
skingroups now colourmap correctly.
Fix terrain colour hints, and litdata from the wrong bsp.
fix ftp dual-homed issue. support epsv command, and enable ipv6 (eprt still not supported).
remove d3d11 compilation from the makefile. the required headers are not provided by mingw, and are not available to the build bot, so don't bother.
fix v *= v.x and similar opcodes.
fteqcc: fixed support for áéÃóú type chars in names. utf-8 files now properly supported (even with the utf-8 bom/identifier). utf-16 also supported.
fteqcc: fixed '#if 1 == 3 && 4' parsing.
fteqcc: -Werror acts on the warning, rather than as a separate error. Line numbers are thus more readable.
fteqcc: copyright message now includes compile date instead.
fteqccgui: the treeview control is now coloured depending on whether there were warnings/errors in the last compile.
fteqccgui: the output window is now focused and scrolls down as compilation progresses.
pr_dumpplatform command dumps out some pragmas to convert more serious warnings to errors. This is to avoid the infamous 'fteqcc sucks cos my code sucks' issue.
rewrote prespawn/modelist/soundlist code. server tracks progress now.
------------------------------------------------------------------------
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4167 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:29:40 +00:00
D3DCFLAGS = -DD3D9QUAKE
2011-09-16 05:56:54 +00:00
NPFTECFLAGS = -DNPFTE
2012-10-25 06:05:20 +00:00
SPEEXCFLAGS = -DSPEEX_STATIC -I$( BASE_DIR) /libs/speex/include -DFIXED_POINT -DUSE_KISS_FFT -DEXPORT= ""
2005-01-23 17:44:11 +00:00
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
SPEEX_OBJS = \
bits.o \
buffer.o \
cb_search.o \
exc_10_16_table.o \
exc_10_32_table.o \
exc_20_32_table.o \
exc_5_256_table.o \
exc_5_64_table.o \
exc_8_128_table.o \
fftwrap.o \
filterbank.o \
filters.o \
gain_table.o \
gain_table_lbr.o \
hexc_10_32_table.o \
hexc_table.o \
high_lsp_tables.o \
jitter.o \
kiss_fft.o \
kiss_fftr.o \
lpc.o \
lsp.o \
lsp_tables_nb.o \
ltp.o \
mdf.o \
modes.o \
modes_wb.o \
nb_celp.o \
preprocess.o \
quant_lsp.o \
resample.o \
sb_celp.o \
scal.o \
smallft.o \
speex.o \
speex_callbacks.o \
speex_header.o \
stereo.o \
vbr.o \
vq.o \
window.o
2011-03-03 12:57:34 +00:00
CLIENT_OBJS = \
2005-01-23 17:44:11 +00:00
textedit.o \
fragstats.o \
teamplay.o \
zqtp.o \
cl_demo.o \
cl_ents.o \
clq2_ents.o \
cl_input.o \
2012-10-14 09:00:49 +00:00
in_generic.o \
2005-01-23 17:44:11 +00:00
cl_main.o \
cl_parse.o \
cl_pred.o \
cl_tent.o \
cl_cam.o \
cl_screen.o \
2013-03-12 22:35:33 +00:00
pr_clcmd.o \
2005-01-23 17:44:11 +00:00
cl_ui.o \
2005-11-30 01:20:53 +00:00
cl_ignore.o \
2005-11-21 22:16:53 +00:00
cl_cg.o \
clq3_parse.o \
2005-01-24 05:06:16 +00:00
pr_csqc.o \
2005-01-23 17:44:11 +00:00
console.o \
image.o \
keys.o \
menu.o \
2005-05-20 08:13:48 +00:00
m_download.o \
2005-01-23 17:44:11 +00:00
m_master.o \
m_multi.o \
m_items.o \
m_options.o \
m_single.o \
m_script.o \
m_mp3.o \
roq_read.o \
clq2_cin.o \
net_master.o \
r_part.o \
2008-11-09 22:29:28 +00:00
p_script.o \
p_null.o \
p_classic.o \
2005-01-23 17:44:11 +00:00
r_partset.o \
renderer.o \
renderque.o \
sbar.o \
skin.o \
2010-12-07 13:19:19 +00:00
snd_al.o \
2005-01-23 17:44:11 +00:00
snd_dma.o \
snd_mem.o \
snd_mix.o \
snd_mp3.o \
snd_ov.o \
valid.o \
view.o \
wad.o \
\
ftpclient.o \
httpclient.o \
\
\
pr_menu.o
GLQUAKE_OBJS = \
gl_draw.o \
2009-11-05 03:07:52 +00:00
gl_backend.o \
2005-01-23 17:44:11 +00:00
gl_rmain.o \
gl_rmisc.o \
gl_rsurf.o \
gl_screen.o \
2006-03-03 03:31:19 +00:00
gl_bloom.o \
2012-09-30 05:52:03 +00:00
gl_vidcommon.o
2005-01-23 17:44:11 +00:00
2007-09-17 20:35:39 +00:00
D3DQUAKE_OBJS = \
2011-01-28 05:06:20 +00:00
d3d_backend.o \
d3d_image.o \
2011-04-01 12:52:58 +00:00
d3d_shader.o \
2012-09-30 05:52:03 +00:00
vid_d3d.o \
d3d11_backend.o \
d3d11_image.o \
d3d11_shader.o \
vid_d3d11.o
2011-01-28 08:35:19 +00:00
2012-01-01 13:11:35 +00:00
D3DGL_OBJS = \
2011-01-28 08:35:19 +00:00
gl_font.o \
2012-08-04 12:27:24 +00:00
gl_ngraph.o \
2011-01-28 08:35:19 +00:00
gl_model.o \
gl_shader.o \
2012-01-01 11:22:24 +00:00
gl_shadow.o \
2011-01-28 08:35:19 +00:00
gl_rlight.o \
2012-09-30 05:52:03 +00:00
gl_hlmdl.o \
2011-01-28 08:35:19 +00:00
gl_warp.o \
ltface.o \
r_surf.o \
r_2d.o
2007-09-17 20:35:39 +00:00
2005-01-23 17:44:11 +00:00
MP3_OBJS = \
fixed.o \
bit.o \
timer.o \
stream.o \
frame.o \
synth.o \
decoder.o \
layer12.o \
layer3.o \
huffman.o \
mymad.o
2013-07-26 17:19:06 +00:00
QCC_OBJS = \
2005-01-23 17:44:11 +00:00
comprout.o \
hash.o \
2013-07-26 17:19:06 +00:00
qcc_cmdlib.o \
qccmain.o \
qcc_pr_comp.o \
qcc_pr_lex.o \
qcd_main.o
PROGS_OBJS = \
$( QCC_OBJS) \
2005-01-23 17:44:11 +00:00
initlib.o \
2008-11-15 02:12:55 +00:00
pr_bgcmd.o \
2011-12-06 00:35:24 +00:00
pr_skelobj.o \
2005-01-23 17:44:11 +00:00
pr_edict.o \
pr_exec.o \
pr_multi.o \
2009-08-29 15:17:43 +00:00
pr_x86.o \
2013-07-26 17:19:06 +00:00
qcdecomp.o
2005-01-23 17:44:11 +00:00
SERVER_OBJS = \
pr_cmds.o \
2007-09-02 19:55:17 +00:00
pr_q1qvm.o \
2005-01-23 17:44:11 +00:00
sv_master.o \
sv_init.o \
sv_main.o \
sv_nchan.o \
sv_ents.o \
sv_send.o \
sv_user.o \
2012-11-27 03:23:19 +00:00
sv_sql.o \
2005-01-23 17:44:11 +00:00
sv_mvd.o \
sv_ccmds.o \
sv_rankin.o \
sv_chat.o \
sv_demo.o \
net_preparse.o \
savegame.o \
svq2_ents.o \
svq2_game.o \
2005-11-21 22:16:53 +00:00
svq3_game.o \
2005-01-23 17:44:11 +00:00
webgen.o \
ftpserver.o \
2005-11-21 22:16:53 +00:00
httpserver.o
2005-01-23 17:44:11 +00:00
SERVERONLY_OBJS = \
svmodel.o \
sv_sys_unix.o
2005-05-20 08:13:48 +00:00
2005-01-23 17:44:11 +00:00
WINDOWSSERVERONLY_OBJS = \
svmodel.o \
2013-03-31 04:21:08 +00:00
net_ssl_winsspi.o \
2012-11-29 13:37:48 +00:00
sv_sys_win.o \
sys_win_threads.o
2005-01-23 17:44:11 +00:00
2013-03-31 04:21:08 +00:00
WINDOWS_OBJS = \
snd_win.o \
snd_directx.o \
cd_win.o \
fs_win32.o \
in_win.o \
sys_win.o \
sys_win_threads.o \
net_ssl_winsspi.o \
$( LTO_END) resources.o $( LTO_START)
2011-03-03 12:57:34 +00:00
COMMON_OBJS = \
2011-09-05 01:48:23 +00:00
gl_alias.o \
2012-04-16 12:19:15 +00:00
gl_heightmap.o \
2007-05-27 13:59:39 +00:00
com_mesh.o \
2009-11-05 01:42:19 +00:00
com_phys_ode.o \
2005-01-23 17:44:11 +00:00
common.o \
cvar.o \
cmd.o \
crc.o \
2013-06-24 09:04:00 +00:00
net_ssl_gnutls.o \
2005-09-09 23:40:55 +00:00
fs.o \
2009-04-02 22:25:54 +00:00
fs_stdio.o \
fs_pak.o \
fs_zip.o \
2005-01-23 17:44:11 +00:00
mathlib.o \
huff.o \
md4.o \
2012-04-10 10:51:52 +00:00
sha1.o \
2005-09-27 19:48:42 +00:00
log.o \
2005-01-23 17:44:11 +00:00
net_chan.o \
net_wins.o \
2013-11-21 23:02:28 +00:00
net_ice.o \
2005-01-23 17:44:11 +00:00
zone.o \
2005-12-17 22:50:02 +00:00
qvm.o \
2011-02-27 02:04:36 +00:00
r_d3.o \
2005-01-23 17:44:11 +00:00
gl_q2bsp.o \
glmod_doom.o \
2005-11-21 22:16:53 +00:00
q3common.o \
2010-11-07 02:12:35 +00:00
world.o \
2011-10-29 19:01:33 +00:00
sv_phys.o \
2010-11-07 03:58:09 +00:00
sv_move.o \
2005-01-23 17:44:11 +00:00
pmove.o \
pmovetst.o \
iwebiface.o \
translate.o \
plugin.o \
q1bsp.o \
q2pmove.o
2012-03-25 11:15:37 +00:00
BOTLIB_OBJS = \
be_aas_bspq3.o \
be_aas_cluster.o \
be_aas_debug.o \
be_aas_entity.o \
be_aas_file.o \
be_aas_main.o \
be_aas_move.o \
be_aas_optimize.o \
be_aas_reach.o \
be_aas_route.o \
be_aas_routealt.o \
be_aas_sample.o \
be_ai_char.o \
be_ai_chat.o \
be_ai_gen.o \
be_ai_goal.o \
be_ai_move.o \
be_ai_weap.o \
be_ai_weight.o \
be_ea.o \
be_interface.o \
l_crc.o \
l_libvar.o \
l_log.o \
l_memory.o \
l_precomp.o \
l_script.o \
l_struct.o
2005-01-23 17:44:11 +00:00
#the defaults for sdl come first
2012-10-25 07:02:09 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) gl_vidsdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o
2007-09-02 19:55:17 +00:00
GL_EXE_NAME = ../fteqw_sdl.gl$( BITS)
GLCL_EXE_NAME = ../fteqwcl_sdl.gl$( BITS)
2005-01-23 17:44:11 +00:00
i f d e f w i n d i r
2009-06-14 13:51:13 +00:00
GL_LDFLAGS = $( GLLDFLAGS) -lmingw32 -lws2_32 ` sdl-config --libs`
2005-01-23 17:44:11 +00:00
e l s e
2012-10-25 06:05:20 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) ` sdl-config --libs`
2005-01-23 17:44:11 +00:00
e n d i f
2012-10-25 07:02:09 +00:00
GL_CFLAGS = $( GLCFLAGS) ` sdl-config --cflags`
2011-09-16 05:56:54 +00:00
GLB_DIR = gl_sdl$( FTE_TARGET) $( BITS)
GLCL_DIR = glcl_sdl$( FTE_TARGET) $( BITS)
2005-01-23 17:44:11 +00:00
2005-05-26 12:55:34 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( SERVERONLY_OBJS)
2009-06-08 08:10:32 +00:00
SV_EXE_NAME = ../fteqw_sdl.sv$( BITS)
2009-11-04 21:16:50 +00:00
SV_CFLAGS = $( SERVER_ONLY_CFLAGS)
2009-11-15 11:00:11 +00:00
SV_LDFLAGS = -lz
2009-04-07 03:48:32 +00:00
2011-09-16 05:56:54 +00:00
MINGL_DIR = mingl_sdl$( FTE_TARGET) $( BITS)
2009-04-07 03:48:32 +00:00
MINGL_EXE_NAME = ../fteqw_sdl.mingl$( BITS)
2011-09-16 05:56:54 +00:00
MB_DIR = m_sdl$( FTE_TARGET) $( BITS)
2009-04-07 03:48:32 +00:00
M_EXE_NAME = ../fteqw_sdl$( BITS)
2012-10-25 07:02:09 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) gl_vidsdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o
M_CFLAGS = $( GLCFLAGS) ` sdl-config --cflags` -D_MERGED_SDL
2012-10-25 04:52:55 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS)
2009-04-07 03:48:32 +00:00
i f d e f w i n d i r
2009-06-14 13:51:13 +00:00
M_LDFLAGS = $( MLDFLAGS) -lmingw32 -lws2_32 -lSDLmain -lSDL
2009-04-07 03:48:32 +00:00
e l s e
#pthread is needed because of SDL.
2012-10-25 04:52:55 +00:00
M_LDFLAGS = $( MLDFLAGS) ` sdl-config --libs` $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS)
2009-04-07 03:48:32 +00:00
e n d i f
2005-05-20 08:13:48 +00:00
2005-01-23 17:44:11 +00:00
#specific targets override those defaults as needed.
2012-04-09 19:12:12 +00:00
#google native client
i f e q ( $( FTE_TARGET ) , n a c l )
2012-11-27 03:23:19 +00:00
OGGVORBISLDFLAGS =
2013-03-12 23:09:25 +00:00
NARCH ?= x86_32
2012-04-09 19:12:12 +00:00
ifeq ( $( shell uname -o 2>& 1 | grep Cygwin) ,)
2013-03-12 23:09:25 +00:00
MYOS = linux
2012-04-09 19:12:12 +00:00
else
2013-03-12 23:09:25 +00:00
MYOS = win
endif
CC =
STRIP =
ifeq ( $( NARCH) ,x86_32)
CC = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _x86_newlib/bin/i686-nacl-gcc -DNACL -m32
STRIP = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _x86_newlib/bin/i686-nacl-strip
BITS =
2013-11-06 21:55:56 +00:00
NACLLIBS = newlib_x86_32/Release
2013-03-12 23:09:25 +00:00
endif
ifeq ( $( NARCH) ,x86_64)
CC = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _x86_newlib/bin/i686-nacl-gcc -DNACL -m64
STRIP = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _x86_newlib/bin/i686-nacl-strip
BITS =
2013-11-06 21:55:56 +00:00
NACLLIBS = newlib_x86_64/Release
2013-03-12 23:09:25 +00:00
endif
ifeq ( $( NARCH) ,arm)
2013-11-06 21:55:56 +00:00
CC = NACL_SDK_ROOT/toolchain/$( MYOS) _arm_newlib/bin/arm-nacl-gcc -DNACL
2013-03-12 23:09:25 +00:00
STRIP = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _arm_newlib/bin/arm-nacl-strip
BITS =
2013-11-06 21:55:56 +00:00
NACLLIBS = newlib_arm/Release
2013-03-12 23:09:25 +00:00
endif
ifeq ( $( NARCH) ,pnacl)
2013-11-22 03:09:06 +00:00
CC = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _pnacl/bin/pnacl-clang -DNACL
STRIP = $( NACL_SDK_ROOT) /toolchain/$( MYOS) _pnacl/bin/pnacl-strip
2013-03-12 23:09:25 +00:00
STRIPFLAGS =
BITS =
2013-11-06 21:55:56 +00:00
NACLLIBS = pnacl/Release
2012-04-09 19:12:12 +00:00
endif
2012-04-16 12:19:15 +00:00
BASELDFLAGS = -lm -lppapi_gles2 -lnosys -lppapi
2012-04-09 19:12:12 +00:00
IMAGELDFLAGS =
2013-03-12 23:09:25 +00:00
GL_CFLAGS += $( SPEEXCFLAGS)
2013-11-06 21:55:56 +00:00
GL_CFLAGS += -I$( realpath $( NACL_SDK_ROOT) /include)
BASELDFLAGS += -L$( realpath $( NACL_SDK_ROOT) /lib/$( NACLLIBS) )
2012-04-09 19:12:12 +00:00
2013-03-12 23:09:25 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SPEEX_OBJS) sys_ppapi.o cd_null.o gl_vidppapi.o fs_ppapi.o snd_ppapi.o
2013-04-04 09:59:14 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( OGGVORBISLDFLAGS)
M_LDFLAGS = $( GLLDFLAGS) $( OGGVORBISLDFLAGS)
2013-03-12 23:09:25 +00:00
GLB_DIR = gl_nacl_$( NARCH)
MINGL_DIR = mingl_nacl_$( NARCH)
ifeq ( $( NARCH) ,pnacl)
GL_EXE_NAME = ../fteqw.pexe
GLCL_EXE_NAME = ../fteqwcl.pexe
MINGL_EXE_NAME = ../fteqw_mingl.pexe
else
GL_EXE_NAME = ../fteqw_$( NARCH) .nexe
GLCL_EXE_NAME = ../fteqwcl_$( NARCH) .nexe
MINGL_EXE_NAME = ../fteqw_mingl_$( NARCH) .nexe
endif
2012-04-09 19:12:12 +00:00
e n d i f
2005-05-20 08:13:48 +00:00
2011-07-08 09:17:23 +00:00
#FTE_TARGET=win32_SDL | FTE_TARGET=win64_SDL (MinGW32 + SDL | MinGW64 + SDL)
2011-07-08 10:38:56 +00:00
i f e q ( $( shell echo $ ( FTE_TARGET ) |grep -E -i -v "win ( 32|64) _sdl $ $ ") , )
2011-07-08 09:17:23 +00:00
LIBS_DIR = ./libs
2011-07-08 10:38:56 +00:00
ifeq ( $( shell echo $( FTE_TARGET) | grep -i -v "win64_sdl" ) ,)
2011-07-08 09:17:23 +00:00
BITS = 64
endif
2013-07-29 18:09:16 +00:00
EXEPOSTFIX = .exe
2009-04-08 08:12:29 +00:00
#the defaults for sdl come first
2012-10-25 06:10:20 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidsdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o snd_directx.o $( LTO_END) resources.o $( LTO_START)
2013-07-29 18:09:16 +00:00
GL_EXE_NAME = ../fteqw_sdl_gl$( BITS) $( EXEPOSTFIX)
GLCL_EXE_NAME = ../fteqwcl_sdl$( BITS) $( EXEPOSTFIX)
2009-04-08 08:12:29 +00:00
ifdef windir
2009-06-14 13:51:13 +00:00
GL_LDFLAGS = $( GLLDFLAGS) -lmingw32 -lws2_32 ` sdl-config --libs`
2009-04-08 08:12:29 +00:00
else
2012-10-25 04:52:55 +00:00
GL_LDFLAGS = $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -lws2_32 -lmingw32 $( SDL_LDFLAGS) -mwindows -ldxguid -lwinmm -lole32 $( GLLDFLAGS) ` sdl-config --libs`
2009-04-08 08:12:29 +00:00
endif
2011-07-08 09:17:23 +00:00
2012-10-25 06:05:20 +00:00
GL_CFLAGS = -D_SDL -I$( MINGW_LIBS_DIR) / -I$( MINGW_LIBS_DIR) -I$( LIBS_DIR) $( GLCFLAGS) -DLIBVORBISFILE_STATIC ` sdl-config --cflags` $( DX7SDK) $( SPEEXCFLAGS)
2011-07-08 09:17:23 +00:00
ifeq ( $( shell echo $( FTE_TARGET) | grep -E -i -v "win32.*sdl" ) ,)
GL_CFLAGS += -D_MINGW_VFPRINTF
endif
2011-09-16 05:56:54 +00:00
GLB_DIR = gl_mgw_sdl$( BITS)
GLCL_DIR = glcl_mgw_sdl$( BITS)
2009-04-08 08:12:29 +00:00
2012-03-25 11:30:07 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( WINDOWSSERVERONLY_OBJS) $( BOTLIB_OBJS) $( LTO_END) resources.o $( LTO_START)
2013-07-29 18:09:16 +00:00
SV_EXE_NAME = ../fteqw_sdl_sv$( BITS) $( EXEPOSTFIX)
2009-06-08 08:10:32 +00:00
SV_CFLAGS = $( SERVER_ONLY_CFLAGS) -D_SDL
2011-07-08 09:17:23 +00:00
SV_LDFLAGS = $( MINGW_LIBS_DIR) /libz.a -lm -lmingw32 -lws2_32 -lwinmm
2009-04-08 08:12:29 +00:00
2011-09-16 05:56:54 +00:00
MINGL_DIR = mingl_sdlwin$( BITS)
2013-07-29 18:09:16 +00:00
MINGL_EXE_NAME = ../fteqw_sdl_mingl$( BITS) $( EXEPOSTFIX)
2009-04-08 08:12:29 +00:00
MB_DIR = m_mgw_sdl$( BITS)
2013-07-29 18:09:16 +00:00
M_EXE_NAME = ../fteqw_sdl$( BITS) $( EXEPOSTFIX)
2012-10-25 06:10:20 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( D3DQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidsdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o snd_directx.o $( LTO_END) resources.o $( LTO_START)
2012-10-25 06:05:20 +00:00
M_CFLAGS = $( D3DCFLAGS) -D_SDL -I$( LIBS_DIR) -I$( MINGW_LIBS_DIR) / -I$( MINGW_LIBS_DIR) $( GLCFLAGS) -DLIBVORBISFILE_STATIC ` sdl-config --cflags` -D_MERGED_SDL $( DX7SDK) $( SPEEXCFLAGS)
2011-07-08 19:43:49 +00:00
ifeq ( $( shell echo $( FTE_TARGET) | grep -E -i -v "win32.*sdl" ) ,)
M_CFLAGS += -D_MINGW_VFPRINTF
endif
2012-10-25 04:52:55 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS)
2009-04-08 08:12:29 +00:00
ifdef windir
2009-06-14 13:51:13 +00:00
M_LDFLAGS = $( MLDFLAGS) -lmingw32 -lws2_32 -lSDLmain -lSDL
2009-04-08 08:12:29 +00:00
else
#pthread is needed because of SDL.
2012-10-25 06:05:20 +00:00
M_LDFLAGS = $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -lws2_32 -lmingw32 $( MINGW_LIBS_DIR) /libSDL.a $( MINGW_LIBS_DIR) /libSDLmain.a -mwindows -ldxguid -lwinmm -lole32 $( MLDFLAGS) ` sdl-config --libs` $( IMAGELDFLAGS)
2009-04-08 08:12:29 +00:00
endif
2011-01-28 08:35:19 +00:00
2012-10-25 06:10:20 +00:00
D3DCL_OBJS = $( D3DQUAKE_OBJS) $( SPEEX_OBJS) snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o snd_directx.o $( D3DGL_OBJS) $( LTO_END) resources.o $( LTO_START)
2013-07-29 18:09:16 +00:00
D3D_EXE_NAME = ../fted3d_sdl_qw$( BITS) $( EXEPOSTFIX)
D3DCL_EXE_NAME = ../fted3d_sdl_clqw$( BITS) $( EXEPOSTFIX)
2012-10-25 06:05:20 +00:00
D3D_LDFLAGS = $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -lws2_32 -lmingw32 $( SDL_LDFLAGS) -mwindows -ldxguid -lwinmm -lole32
D3D_CFLAGS = $( D3DCFLAGS) -D_SDL -DNO_XFLIP -I$( LIBS_DIR) -I$( MINGW_LIBS_DIR) / -I$( MINGW_LIBS_DIR) -DLIBVORBISFILE_STATIC ` sdl-config --cflags` $( DX7SDK) $( SPEEXCFLAGS)
2011-07-08 19:43:49 +00:00
ifeq ( $( shell echo $( FTE_TARGET) | grep -E -i -v "win32.*sdl" ) ,)
D3D_CFLAGS += -D_MINGW_VFPRINTF
endif
2011-07-08 11:33:26 +00:00
D3DB_DIR = sdl_d3d_mgw$( BITS)
D3DCL_DIR = sdl_d3dcl_mgw$( BITS)
2011-01-28 08:35:19 +00:00
2009-04-08 08:12:29 +00:00
e n d i f
2011-07-08 09:17:23 +00:00
#FTE_TARGET=vc (Visual C)
2009-11-04 21:16:50 +00:00
i f e q ( $( FTE_TARGET ) , v c )
2012-12-04 19:37:57 +00:00
ifeq ( $( BITS) ,64)
WINDRES = x86_64-w64-mingw32-windres
MSVCPATH = C:/Program Files ( x86) /Microsoft Visual Studio 8/VC/BIN/amd64/
MSVCINC = -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\include" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\include"
MSVCLIB = /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\lib\amd64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\LIB\AMD64"
JPEGLIB = libs/libjpeg$( BITS) .lib
else
MSVCPATH = C:/Program Files ( x86) /Microsoft Visual Studio 8/VC/BIN/
MSVCINC = -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\include" -I"C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\include"
MSVCLIB = /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\LIB" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\lib" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\LIB"
JPEGLIB = libs/jpeg.lib
endif
STRIP = @echo strip
2013-07-29 18:09:16 +00:00
EXEPOSTFIX = .exe
2012-12-04 19:37:57 +00:00
CC = " $( MSVCPATH) cl " $( MSVCINC) -D_CRT_SECURE_NO_WARNINGS
2009-11-04 21:16:50 +00:00
DEBUG_CFLAGS ?= -Od $( CPUOPTIMIZATIONS) /fp:fast
PROFILE_CFLAGS = -O2 -Ot -Ox -GL $( CPUOPTIMISATIONS) /fp:fast
PROFILE_LDFLAGS = /LTCG:PGINSTRUMENT
RELEASE_CFLAGS = -O2 -Ot -Ox -GL $( CPUOPTIMIZATIONS) /fp:fast
RELEASE_LDFLAGS = /LTCG:PGOPTIMIZE
DO_CC = @$( CC) /nologo $( ALL_CFLAGS) -Fo$@ -c $<
2013-03-12 22:47:42 +00:00
DO_LD = $( DO_ECHO) " $( MSVCPATH) link " /nologo /out:" $@ " /nodefaultlib:libc.lib /LARGEADDRESSAWARE /nodefaultlib:MSVCRT $( MSVCLIB) /manifest:no /OPT:REF wsock32.lib user32.lib advapi32.lib winmm.lib libs/zlib$( BITS) .lib shell32.lib
2009-11-04 21:16:50 +00:00
PRECOMPHEADERS =
2013-05-11 05:03:07 +00:00
DEPCC =
2009-11-04 21:16:50 +00:00
LIBS_DIR = ./libs/
2012-12-04 19:37:57 +00:00
SPEEXCFLAGS += -Dinline= _inline -D_USE_MATH_DEFINES
SV_CFLAGS = $( SERVER_ONLY_CFLAGS) $( W32_CFLAGS) -DMULTITHREAD -DMSVCLIBSPATH= "libs/"
2013-07-29 18:09:16 +00:00
SV_EXE_NAME = ../fteqwsv$( BITS) $( EXEPOSTFIX)
2012-12-04 19:37:57 +00:00
SV_DIR = sv_vc$( BITS)
2009-11-04 21:16:50 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( WINDOWSSERVERONLY_OBJS) fs_win32.o resources.o
SV_LDFLAGS = /subsystem:console
2012-12-04 19:37:57 +00:00
2013-07-29 18:09:16 +00:00
GL_EXE_NAME = ../fteglqw$( BITS) $( EXEPOSTFIX)
2012-12-04 19:37:57 +00:00
GLCL_EXE_NAME = ../minfteqw.gl$( BITS)
GLB_DIR = gl_vc$( BITS)
GLCL_DIR = glcl_vc$( BITS)
GL_LDFLAGS = $( GLLDFLAGS) $( JPEGLIB) libs/libpng$( BITS) .lib uuid.lib gdi32.lib ole32.lib /subsystem:windows
GL_CFLAGS = $( GLCFLAGS) $( W32_CFLAGS) -DMULTITHREAD $( SPEEXCFLAGS) -DMSVCLIBSPATH= "libs/"
2013-03-31 04:21:08 +00:00
GLCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SPEEX_OBJS) gl_vidnt.o $( WINDOWS_OBJS)
2012-12-04 19:37:57 +00:00
GL_OBJS =
------------------------------------------------------------------------
r4169 | acceptthis | 2013-01-17 08:55:12 +0000 (Thu, 17 Jan 2013) | 31 lines
removed MAX_VISEDICTS limit.
PEXT2_REPLACEMENTDELTAS tweaked, now has 4 million entity limit. still not enabled by default.
TE_BEAM now maps to a separate TEQW_BEAM to avoid conflicts with QW.
added android multitouch emulation for windows/rawinput (in_simulatemultitouch).
split topcolor/bottomcolor from scoreboard, for dp's colormap|1024 feature.
now using utf-8 for windows consoles.
qcc warnings/errors now give clickable console links for quick+easy editing.
disabled menutint when the currently active item changes contrast or gamma (for OneManClan).
Added support for drawfont/drawfontscale.
tweaked the qcvm a little to reduce the number of pointers.
.doll file loading. still experimental and will likely crash. requires csqc active, even if its a dummy progs. this will be fixed in time. Still other things that need cleaning up.
windows: gl_font "?" shows the standard windows font-selection dialog, and can be used to select windows fonts. not all work. and you probably don't want to use windings.
fixed splitscreen support when playing mvds. added mini-scoreboards to splitscreen.
editor/debugger now shows asm if there's no linenumber info. also, pressing f1 for help shows the shortcuts.
Added support for .framegroups files for psk(psa) and iqm formats.
True support for ezquake's colour codes. Mutually exclusive with background colours.
path command output slightly more readable.
added support for digest_hex (MD4, SHA1, CRC16).
skingroups now colourmap correctly.
Fix terrain colour hints, and litdata from the wrong bsp.
fix ftp dual-homed issue. support epsv command, and enable ipv6 (eprt still not supported).
remove d3d11 compilation from the makefile. the required headers are not provided by mingw, and are not available to the build bot, so don't bother.
fix v *= v.x and similar opcodes.
fteqcc: fixed support for áéÃóú type chars in names. utf-8 files now properly supported (even with the utf-8 bom/identifier). utf-16 also supported.
fteqcc: fixed '#if 1 == 3 && 4' parsing.
fteqcc: -Werror acts on the warning, rather than as a separate error. Line numbers are thus more readable.
fteqcc: copyright message now includes compile date instead.
fteqccgui: the treeview control is now coloured depending on whether there were warnings/errors in the last compile.
fteqccgui: the output window is now focused and scrolls down as compilation progresses.
pr_dumpplatform command dumps out some pragmas to convert more serious warnings to errors. This is to avoid the infamous 'fteqcc sucks cos my code sucks' issue.
rewrote prespawn/modelist/soundlist code. server tracks progress now.
------------------------------------------------------------------------
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4167 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:29:40 +00:00
MINGL_DIR = mingl_vc$( BITS)
2013-07-29 18:09:16 +00:00
MINGL_EXE_NAME = ../fteminglqw$( BITS) $( EXEPOSTFIX)
------------------------------------------------------------------------
r4169 | acceptthis | 2013-01-17 08:55:12 +0000 (Thu, 17 Jan 2013) | 31 lines
removed MAX_VISEDICTS limit.
PEXT2_REPLACEMENTDELTAS tweaked, now has 4 million entity limit. still not enabled by default.
TE_BEAM now maps to a separate TEQW_BEAM to avoid conflicts with QW.
added android multitouch emulation for windows/rawinput (in_simulatemultitouch).
split topcolor/bottomcolor from scoreboard, for dp's colormap|1024 feature.
now using utf-8 for windows consoles.
qcc warnings/errors now give clickable console links for quick+easy editing.
disabled menutint when the currently active item changes contrast or gamma (for OneManClan).
Added support for drawfont/drawfontscale.
tweaked the qcvm a little to reduce the number of pointers.
.doll file loading. still experimental and will likely crash. requires csqc active, even if its a dummy progs. this will be fixed in time. Still other things that need cleaning up.
windows: gl_font "?" shows the standard windows font-selection dialog, and can be used to select windows fonts. not all work. and you probably don't want to use windings.
fixed splitscreen support when playing mvds. added mini-scoreboards to splitscreen.
editor/debugger now shows asm if there's no linenumber info. also, pressing f1 for help shows the shortcuts.
Added support for .framegroups files for psk(psa) and iqm formats.
True support for ezquake's colour codes. Mutually exclusive with background colours.
path command output slightly more readable.
added support for digest_hex (MD4, SHA1, CRC16).
skingroups now colourmap correctly.
Fix terrain colour hints, and litdata from the wrong bsp.
fix ftp dual-homed issue. support epsv command, and enable ipv6 (eprt still not supported).
remove d3d11 compilation from the makefile. the required headers are not provided by mingw, and are not available to the build bot, so don't bother.
fix v *= v.x and similar opcodes.
fteqcc: fixed support for áéÃóú type chars in names. utf-8 files now properly supported (even with the utf-8 bom/identifier). utf-16 also supported.
fteqcc: fixed '#if 1 == 3 && 4' parsing.
fteqcc: -Werror acts on the warning, rather than as a separate error. Line numbers are thus more readable.
fteqcc: copyright message now includes compile date instead.
fteqccgui: the treeview control is now coloured depending on whether there were warnings/errors in the last compile.
fteqccgui: the output window is now focused and scrolls down as compilation progresses.
pr_dumpplatform command dumps out some pragmas to convert more serious warnings to errors. This is to avoid the infamous 'fteqcc sucks cos my code sucks' issue.
rewrote prespawn/modelist/soundlist code. server tracks progress now.
------------------------------------------------------------------------
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4167 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:29:40 +00:00
2013-03-31 04:21:08 +00:00
D3DCL_OBJS = $( D3DQUAKE_OBJS) $( D3DGL_OBJS) $( SPEEX_OBJS) $( WINDOWS_OBJS)
2013-07-29 18:09:16 +00:00
D3D_EXE_NAME = ../fted3dqw$( BITS) $( EXEPOSTFIX)
D3DCL_EXE_NAME = ../fted3dclqw$( BITS) $( EXEPOSTFIX)
2013-03-12 22:35:33 +00:00
D3D_LDFLAGS = $( JPEGLIB) libs/libpng$( BITS) .lib uuid.lib gdi32.lib ole32.lib /subsystem:windows
2012-12-04 19:37:57 +00:00
D3D_CFLAGS = $( D3DCFLAGS) $( W32_CFLAGS) $( DX7SDK) -DMULTITHREAD $( SPEEXCFLAGS) -DMSVCLIBSPATH= "libs/"
D3DB_DIR = d3d_vc$( BITS)
D3DCL_DIR = d3dcl_vc$( BITS)
2009-11-04 21:16:50 +00:00
2013-07-29 18:09:16 +00:00
M_EXE_NAME = ../fteqw$( BITS) $( EXEPOSTFIX)
2013-03-31 04:21:08 +00:00
MCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( D3DQUAKE_OBJS) $( GLQUAKE_OBJS) gl_vidnt.o $( SPEEX_OBJS) $( WINDOWS_OBJS)
2012-12-04 19:37:57 +00:00
M_CFLAGS = $( D3DCFLAGS) $( GLCFLAGS) $( W32_CFLAGS) $( D3DCFLAGS) -DMULTITHREAD $( SPEEXCFLAGS) -DMSVCLIBSPATH= "libs/"
MB_DIR = m_vc$( BITS)
M_LDFLAGS = $( GLLDFLAGS) $( JPEGLIB) libs/libpng$( BITS) .lib uuid.lib gdi32.lib ole32.lib /subsystem:windows
2009-11-04 21:16:50 +00:00
e n d i f
2011-07-08 09:17:23 +00:00
#FTE_TARGET=win32 | FTE_TARGET=win64 (MinGW32 | MinGW64)
2011-07-08 10:38:56 +00:00
i f e q ( $( shell echo $ ( FTE_TARGET ) |grep -E -v "win ( 32|64) $ $ ") , )
2007-10-25 17:59:01 +00:00
# The extra object file called resources.o is specific for MinGW to link the icon in
2006-10-05 21:59:43 +00:00
#cygwin's gcc requires an extra command to use mingw instead of cygwin (default paths, etc).
2013-12-02 14:30:30 +00:00
ifneq ( $( shell $( CC) -dumpmachine 2>& 1 | grep cygwin) ,)
2006-10-05 21:59:43 +00:00
W32_CFLAGS = -mno-cygwin
endif
2011-07-08 09:17:23 +00:00
2011-07-08 10:38:56 +00:00
ifeq ( $( FTE_TARGET) ,win64)
2011-07-08 09:17:23 +00:00
BITS = 64
endif
2006-10-05 21:59:43 +00:00
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
BASELDFLAGS =
2012-10-22 14:26:47 +00:00
# Allow 32bit FTE to access beyond the 2GB address space
ifeq ( $( FTE_TARGET) ,win32)
BASELDFLAGS = -Wl,--large-address-aware
endif
2013-07-29 18:09:16 +00:00
EXEPOSTFIX = .exe
2006-10-05 21:59:43 +00:00
SV_CFLAGS = $( SERVER_ONLY_CFLAGS) $( W32_CFLAGS)
2005-01-24 23:47:32 +00:00
LIBS_DIR = $( BASE_DIR) /libs
2013-07-29 18:09:16 +00:00
SV_EXE_NAME = ../fteqwsv$( BITS) $( EXEPOSTFIX)
2011-07-08 11:33:26 +00:00
SV_LDFLAGS = $( MINGW_LIBS_DIR) /libz.a -lws2_32 -lwinmm
SV_DIR = sv_mingw$( BITS)
2012-03-25 11:30:07 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( WINDOWSSERVERONLY_OBJS) $( BOTLIB_OBJS) fs_win32.o $( LTO_END) resources.o $( LTO_START)
2005-05-20 08:13:48 +00:00
2009-04-03 07:31:54 +00:00
2013-03-31 04:21:08 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidnt.o $( WINDOWS_OBJS)
2013-07-29 18:09:16 +00:00
GL_EXE_NAME = ../fteglqw$( BITS) $( EXEPOSTFIX)
GLCL_EXE_NAME = ../fteglqwcl$( BITS) $( EXEPOSTFIX)
2013-03-31 04:21:08 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -ldxguid -lws2_32 -lwinmm -lgdi32 -lole32 -Wl,--subsystem,windows
2012-10-25 06:05:20 +00:00
GL_CFLAGS = $( GLCFLAGS) $( W32_CFLAGS) $( DX7SDK) -DMULTITHREAD -DLIBVORBISFILE_STATIC $( SPEEXCFLAGS)
2011-07-08 11:33:26 +00:00
GLB_DIR = gl_mgw$( BITS)
GLCL_DIR = glcl_mgw$( BITS)
2005-01-23 17:44:11 +00:00
2013-03-12 22:37:59 +00:00
NPFTE_OBJS = httpclient.o image.o sys_win_threads.o sys_npfte.o sys_axfte.o sys_plugfte.o $( LTO_END) npplug.o ../../ftequake/npapi.def $( LTO_START)
2011-09-16 05:56:54 +00:00
NPFTE_DLL_NAME = ../npfte$( BITS) .dll
2013-03-31 04:21:08 +00:00
NPFTE_LDFLAGS = -Wl,--enable-stdcall-fixup $( IMAGELDFLAGS) -ldxguid -lws2_32 -lwinmm -lgdi32 -lole32 -loleaut32 -luuid -lstdc++ -shared -Wl,--subsystem,windows
2013-03-12 22:37:59 +00:00
NPFTE_CFLAGS = $( NPFTECFLAGS) $( W32_CFLAGS) -DMULTITHREAD
2011-09-16 05:56:54 +00:00
NPFTEB_DIR = npfte_mgw$( BITS)
2009-04-03 07:31:54 +00:00
2013-03-31 04:21:08 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( D3DQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidnt.o $( WINDOWS_OBJS)
2013-07-29 18:09:16 +00:00
M_EXE_NAME = ../fteqw$( BITS) $( EXEPOSTFIX)
MCL_EXE_NAME = ../fteqwcl$( BITS) $( EXEPOSTFIX)
2013-03-31 04:21:08 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -ldxguid -lws2_32 -lwinmm -lgdi32 -lole32 -Wl,--subsystem,windows
2012-10-25 06:05:20 +00:00
M_CFLAGS = $( GLCFLAGS) $( W32_CFLAGS) $( D3DCFLAGS) $( DX7SDK) -DMULTITHREAD -DLIBVORBISFILE_STATIC $( SPEEXCFLAGS)
2011-07-08 11:33:26 +00:00
MB_DIR = m_mgw$( BITS)
MCL_DIR = mcl_mgw$( BITS)
2005-01-23 17:44:11 +00:00
2013-03-31 04:21:08 +00:00
D3DCL_OBJS = $( D3DQUAKE_OBJS) $( D3DGL_OBJS) $( SPEEX_OBJS) $( WINDOWS_OBJS)
2013-07-29 18:09:16 +00:00
D3D_EXE_NAME = ../fted3dqw$( BITS) $( EXEPOSTFIX)
D3DCL_EXE_NAME = ../fted3dclqw$( BITS) $( EXEPOSTFIX)
2013-03-31 04:21:08 +00:00
D3D_LDFLAGS = $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS) -ldxguid -lws2_32 -lwinmm -lgdi32 -lole32 -Wl,--subsystem,windows
2012-10-25 06:05:20 +00:00
D3D_CFLAGS = $( D3DCFLAGS) $( W32_CFLAGS) $( DX7SDK) -DMULTITHREAD -DLIBVORBISFILE_STATIC $( SPEEXCFLAGS)
2011-07-08 11:33:26 +00:00
D3DB_DIR = d3d_mgw$( BITS)
D3DCL_DIR = d3dcl_mgw$( BITS)
2007-09-17 20:35:39 +00:00
2013-07-29 18:09:16 +00:00
MINGL_EXE_NAME = ../fteminglqw$( BITS) $( EXEPOSTFIX)
2011-07-08 11:33:26 +00:00
MINGL_DIR = mingl_mgw$( BITS)
2005-01-23 17:44:11 +00:00
e n d i f
2010-12-08 14:42:05 +00:00
2005-05-20 08:13:48 +00:00
i f e q ( $( FTE_TARGET ) , b s d )
#mostly uses the linux stuff.
#oss, X, etc.
SV_DIR = sv_linux
2007-10-20 19:58:32 +00:00
SV_LDFLAGS = -lz -ldl
2005-05-20 08:13:48 +00:00
2013-03-12 23:03:46 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_linux_threads.o
2005-05-20 08:13:48 +00:00
GL_EXE_NAME = ../fteqw.gl
GLCL_EXE_NAME = ../fteqwcl.gl
2013-04-06 08:30:43 +00:00
GL_LDFLAGS = -L/usr/local/lib $( GLLDFLAGS) $( XLDFLAGS) -lpthread
2010-12-07 13:19:19 +00:00
GL_CFLAGS = $( GLCFLAGS) -I/usr/local/include -I/usr/X11R6/include
2005-05-20 08:13:48 +00:00
GLB_DIR = gl_bsd
GLCL_DIR = glcl_bsd
2013-03-12 23:03:46 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( BOTLIB_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_linux_threads.o
2005-05-20 08:13:48 +00:00
M_EXE_NAME = ../fteqw
MCL_EXE_NAME = ../fteqwcl
2013-04-06 08:30:43 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( XLDFLAGS) -lpthread
2009-07-16 22:06:59 +00:00
M_CFLAGS = $( GLCFLAGS) -I/usr/X11R6/include
2005-05-20 08:13:48 +00:00
MB_DIR = m_bsd
MCL_DIR = mcl_bsd
2007-10-20 19:52:02 +00:00
MINGL_EXE_NAME = ../fteqw.mingl
MINGL_DIR = mingl_bsd
2005-05-20 08:13:48 +00:00
e n d i f
2007-09-02 19:55:17 +00:00
i f n e q ( $( shell echo $ ( FTE_TARGET ) |grep linux ) , )
2005-01-23 17:44:11 +00:00
2007-09-02 19:55:17 +00:00
SV_DIR = sv_linux$( BITS)
2005-01-23 17:44:11 +00:00
SV_LDFLAGS = -lz
2009-06-08 08:10:32 +00:00
SV_EXE_NAME = ../fteqw.sv$( BITS)
2013-03-12 23:03:46 +00:00
NPFTE_OBJS = httpclient.o image.o sys_linux_threads.o sys_npfte.o sys_axfte.o sys_plugfte.o
NPFTE_DLL_NAME = ../npfte$( BITS) .so
2013-03-12 23:20:07 +00:00
NPFTE_LDFLAGS = -shared -Wl,-z,defs -ldl -lpthread
2013-03-12 23:04:31 +00:00
NPFTE_CFLAGS = $( NPFTECFLAGS) $( W32_CFLAGS) -DMULTITHREAD -fPIC -DDYNAMIC_LIBPNG -DDYNAMIC_LIBJPEG
2013-03-12 23:03:46 +00:00
NPFTEB_DIR = npfte_linux$( BITS)
2005-01-23 17:44:11 +00:00
2013-03-12 23:03:46 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidlinuxglx.o gl_videgl.o snd_alsa.o snd_linux.o cd_linux.o sys_linux.o sys_linux_threads.o
2007-09-02 19:55:17 +00:00
GL_EXE_NAME = ../fteqw.gl$( BITS)
GLCL_EXE_NAME = ../fteqwcl.gl$( BITS)
2013-04-06 08:30:43 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( XLDFLAGS) $( OGGVORBISLDFLAGS) -lz
2013-05-13 13:43:18 +00:00
GL_CFLAGS = $( GLCFLAGS) -I/usr/X11R6/include $( SPEEXCFLAGS) -DMULTITHREAD -DLIBVORBISFILE_STATIC -DDYNAMIC_LIBPNG -DDYNAMIC_LIBJPEG
2007-09-02 19:55:17 +00:00
GLB_DIR = gl_linux$( BITS)
GLCL_DIR = glcl_linux$( BITS)
2005-01-23 17:44:11 +00:00
2013-03-12 23:03:46 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidlinuxglx.o snd_linux.o snd_alsa.o cd_linux.o sys_linux.o sys_linux_threads.o
2007-09-02 19:55:17 +00:00
M_EXE_NAME = ../fteqw$( BITS)
MCL_EXE_NAME = ../fteqwcl$( BITS)
2013-04-06 08:30:43 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( XLDFLAGS) $( OGGVORBISLDFLAGS) -lz
2013-05-13 13:43:18 +00:00
M_CFLAGS = $( GLCFLAGS) -I/usr/X11R6/include $( SPEEXCFLAGS) -DLIBVORBISFILE_STATIC -DDYNAMIC_LIBPNG -DDYNAMIC_LIBJPEG
2007-09-02 19:55:17 +00:00
MB_DIR = m_linux$( BITS)
MCL_DIR = mcl_linux$( BITS)
2005-01-23 17:44:11 +00:00
2013-05-13 13:43:18 +00:00
IMAGELDFLAGS =
2005-01-23 17:44:11 +00:00
2007-09-02 19:55:17 +00:00
MINGL_EXE_NAME = ../fteqw.mingl$( BITS)
MINGL_DIR = mingl_linux$( BITS)
2005-01-23 17:44:11 +00:00
e n d i f
2007-11-02 00:30:47 +00:00
i f n e q ( $( shell echo $ ( FTE_TARGET ) |grep macosx ) , )
SV_DIR = sv_macosx$( EXTENSION) $( BITS)
GLB_DIR = gl_macosx$( EXTENSION) $( BITS)
GLCL_DIR = glcl_macosx$( EXTENSION) $( BITS)
MINGL_DIR = mingl_macosx$( EXTENSION) $( BITS)
2012-10-24 14:05:19 +00:00
2012-10-25 04:52:55 +00:00
OGGVORBISLDFLAGS =
2007-09-22 19:28:27 +00:00
2013-04-09 21:31:44 +00:00
GL_CFLAGS = $( GLCFLAGS) -D__MACOSX__ -L/sw/lib -I/sw/include -L/opt/local/lib -I/opt/local/include -I$( LIBS_DIR)
2010-12-16 03:25:37 +00:00
ifeq ( $( FTE_TARGET) ,macosx_x86)
2011-07-09 09:43:49 +00:00
GL_CFLAGS = $( GLCFLAGS) -D__MACOSX__ -L/sw/lib -I/sw/include -L/opt/local/lib -I/opt/local/include -I$( LIBS_DIR)
2010-12-16 03:25:37 +00:00
endif
2009-07-19 10:11:32 +00:00
GL_LDFLAGS = -framework AGL -framework OpenGL -framework Cocoa -framework AudioUnit -lz -lpng -ljpeg
2013-03-12 23:03:46 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) gl_vidcocoa.mo gl_vidmacos.o sys_linux.o cd_null.o snd_macos.o sys_linux_threads.o
2007-09-22 19:28:27 +00:00
2007-11-02 00:30:47 +00:00
GL_EXE_NAME = ../macosx_fteqw.gl$( EXTENSION) $( BITS)
GLCL_EXE_NAME = ../macosx_fteqwcl.gl$( EXTENSION) $( BITS)
M_EXE_NAME = ../macosx_fteqw$( EXTENSION) $( BITS)
MCL_EXE_NAME = ../macosx_fteqwcl$( EXTENSION) $( BITS)
MINGL_EXE_NAME = ../macosx_fteqw.mingl$( EXTENSION) $( BITS)
MINGL_DIR = mingl_macosx$( EXTENSION) $( BITS)
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( SERVERONLY_OBJS)
SV_EXE_NAME = ../macosx_fteqw.sv$( EXTENSION) $( BITS)
2009-07-19 11:05:00 +00:00
SV_CFLAGS = $( SERVER_ONLY_CFLAGS)
SV_LDFLAGS = -lz
2007-09-23 22:00:19 +00:00
#seems, macosx has a more limited version of strip
STRIPFLAGS =
2007-09-22 19:28:27 +00:00
e n d i f
2006-03-06 22:15:40 +00:00
i f e q ( $( FTE_TARGET ) , m o r p h o s )
2010-11-18 06:44:46 +00:00
#-Wno-pointer-sign unrecognised
WARNINGFLAGS = -Wall
2006-03-06 22:15:40 +00:00
2012-05-10 13:01:02 +00:00
CFLAGS += -D__MORPHOS_SHAREDLIBS
2006-03-06 22:15:40 +00:00
SV_DIR = sv_morphos
2010-12-09 07:37:22 +00:00
SV_LDFLAGS = -ldl -lz
2012-10-25 04:52:55 +00:00
OGGVORBISLDFLAGS =
2006-03-06 22:15:40 +00:00
2012-10-25 07:02:09 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) gl_vidmorphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o
2007-11-02 00:30:47 +00:00
GL_EXE_NAME = ../morphos_fteqw.gl
GLCL_EXE_NAME = ../morphos_fteqwcl.gl
2012-10-24 12:57:12 +00:00
GL_LDFLAGS = $( GLLDFLAGS) -ldl $( IMAGELDFLAGS) -lz
2012-10-25 07:02:09 +00:00
GL_CFLAGS = $( GLCFLAGS) -noixemul -I./libs/speex -I./
2006-03-06 22:15:40 +00:00
GLB_DIR = gl_morphos
GLCL_DIR = glcl_morphos
2012-10-25 07:02:09 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( BOTLIB_OBJS) gl_vidmorphos.o vid_morphos.o in_morphos.o snd_morphos.o cd_null.o sys_morphos.o
2007-11-02 00:30:47 +00:00
M_EXE_NAME = ../morphos_fteqw
MCL_EXE_NAME = ../morphos_fteqwcl
2012-10-24 12:57:12 +00:00
M_LDFLAGS = $( GLLDFLAGS)
2012-10-25 07:02:09 +00:00
M_CFLAGS = $( GLCFLAGS)
2006-03-06 22:15:40 +00:00
MB_DIR = m_morphos
MCL_DIR = mcl_morphos
2007-11-02 00:30:47 +00:00
MINGL_EXE_NAME = ../morphos_fteqw.mingl
2006-03-06 22:15:40 +00:00
MINGL_DIR = mingl_morphos
2007-11-02 00:30:47 +00:00
2012-03-25 11:30:07 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( SERVERONLY_OBJS) $( BOTLIB_OBJS)
2010-12-09 07:37:22 +00:00
SV_EXE_NAME = ../morphos_fteqw.sv$( BITS)
2013-04-09 21:31:44 +00:00
SV_CFLAGS = $( SERVER_ONLY_CFLAGS)
2006-03-06 22:15:40 +00:00
e n d i f
2005-12-15 19:15:39 +00:00
i f e q ( $( FTE_TARGET ) , c y g w i n )
SV_DIR = sv_cygwin
SV_LDFLAGS = -lz
2013-07-29 18:09:16 +00:00
EXEPOSTFIX = .exe
2013-03-12 23:03:46 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_linux_threads.o
2013-07-29 18:09:16 +00:00
GL_EXE_NAME = ../fteqwglcyg$( EXEPOSTFIX)
GLCL_EXE_NAME = ../fteqwclglcyg$( EXEPOSTFIX)
2013-11-21 23:02:28 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( XLDFLAGS) $( OGGVORBISLDFLAGS) -lz -lltdl
GL_CFLAGS = $( GLCFLAGS) -I/usr/X11R6/include $( SPEEXCFLAGS) -DLIBVORBISFILE_STATIC -DUSE_LIBTOOL
2005-12-15 19:15:39 +00:00
GLB_DIR = gl_cygwin
GLCL_DIR = glcl_cygwin
2013-03-12 23:03:46 +00:00
MCL_OBJS = $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( SOFTWARE_OBJS) $( BOTLIB_OBJS) $( SPEEX_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_linux_threads.o
2013-07-29 18:09:16 +00:00
M_EXE_NAME = ../fteqwcyg$( EXEPOSTFIX)
MCL_EXE_NAME = ../fteqwclcyg$( EXEPOSTFIX)
2013-11-21 23:02:28 +00:00
M_LDFLAGS = $( GLLDFLAGS) $( XLDFLAGS) $( OGGVORBISLDFLAGS) -lz -lltdl
M_CFLAGS = $( GLCFLAGS) $( SPEEXCFLAGS) -DLIBVORBISFILE_STATIC -DUSE_LIBTOOL
2005-12-15 19:15:39 +00:00
MB_DIR = m_cygwin
MCL_DIR = mcl_cygwin
2013-11-21 23:02:28 +00:00
LIBS_DIR = $( BASE_DIR) /libs
2005-12-15 19:15:39 +00:00
2013-07-29 18:09:16 +00:00
MINGL_EXE_NAME = ../fteqwminglcyg$( EXEPOSTFIX)
2005-12-15 19:15:39 +00:00
MINGL_DIR = mingl_cygwin
e n d i f
2011-09-05 01:48:23 +00:00
i f e q ( $( FTE_TARGET ) , d r o i d )
BASELDFLAGS =
2012-02-27 12:23:15 +00:00
SV_DIR = sv_droid-$( DROID_ARCH)
2011-09-05 01:48:23 +00:00
SV_LDFLAGS = -lz
2012-10-14 09:00:49 +00:00
SV_OBJS = $( COMMON_OBJS) $( SERVER_OBJS) $( PROGS_OBJS) $( BOTLIB_OBJS) svmodel.o sys_droid.o
2012-02-27 12:23:15 +00:00
SV_EXE_NAME = libftedroid.so
2011-09-05 01:48:23 +00:00
SV_LDFLAGS =
2012-10-14 09:00:49 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) $( BOTLIB_OBJS) gl_viddroid.o sys_droid.o cd_null.o snd_droid.o
2013-07-29 19:27:09 +00:00
GL_LDFLAGS = $( GLLDFLAGS)
2012-02-27 12:23:15 +00:00
GLB_DIR = gl_droid-$( DROID_ARCH)
GL_EXE_NAME = libftedroid.so
2011-09-05 01:48:23 +00:00
e n d i f
2013-04-02 05:18:17 +00:00
i f e q ( $( FTE_TARGET ) , w e b )
2013-08-07 14:20:24 +00:00
COMMON_OBJS += sys_web.o fs_web.o
2013-04-06 08:37:45 +00:00
WEB_PREJS ?= --pre-js web/prejs.js
2013-07-31 07:01:34 +00:00
# WEB_MEMORY?=402653184 #384mb
2013-07-31 00:20:16 +00:00
ASMJS_MEMORY?= 536870912 #512mb (required for asm.js)
2013-08-07 14:20:24 +00:00
# ASMJS_MEMORY?=268435456 #256mb (required for asm.js)
2013-07-31 07:01:34 +00:00
WEB_MEMORY?= $( ASMJS_MEMORY)
2013-08-07 14:24:04 +00:00
JSLIBS = --js-library web/ftejslib.js -s DISABLE_GL_EMULATION = 1
2013-08-07 14:20:24 +00:00
EMCC_ARGS = $( JSLIBS) $( WEB_PREJS) --shell-file web/fteshell.html -s ERROR_ON_UNDEFINED_SYMBOLS = 1
2013-05-11 05:03:07 +00:00
RELEASE_CFLAGS = -DOMIT_QCC -DGL_STATIC -DFTE_TARGET_WEB
DEBUG_CFLAGS = -g --jcache -DOMIT_QCC -DGL_STATIC -DFTE_TARGET_WEB
2013-08-07 14:20:24 +00:00
RELEASE_LDFLAGS = -s ASM_JS = 1 -O1 -s TOTAL_MEMORY = $( ASMJS_MEMORY) $( EMCC_ARGS)
# RELEASE_LDFLAGS=-s ASM_JS=0 -O1 -s TOTAL_MEMORY=$(WEB_MEMORY) $(EMCC_ARGS)
DEBUG_LDLAGS = -O0 -s TOTAL_MEMORY = $( WEB_MEMORY) $( EMCC_ARGS)
2013-05-11 05:03:07 +00:00
CC = emcc
2013-04-02 05:18:17 +00:00
#BASELDFLAGS=
#mostly we inherit the sdl defaults. because we can, however emscripten does not support sdl cd code.
2013-08-07 14:20:24 +00:00
GLCL_OBJS = $( GL_OBJS) $( D3DGL_OBJS) $( GLQUAKE_OBJS) gl_vidweb.o cd_null.o
2013-04-02 05:18:17 +00:00
SDL_INCLUDES =
SV_DIR = sv_web
#SV_LDFLAGS=-lz
#SV_OBJS=$(COMMON_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) svmodel.o
2013-04-04 09:59:14 +00:00
SV_EXE_NAME = ../libftesv.js
2013-04-02 05:18:17 +00:00
#SV_LDFLAGS=
STRIP = echo
SPEEXCFLAGS =
SPEEX_OBS =
#GLCL_OBJS=$(GL_OBJS) $(D3DGL_OBJS) $(GLQUAKE_OBJS) cd_null.o
#GL_LDFLAGS=$(GLLDFLAGS)
GLB_DIR = gl_web
GL_EXE_NAME = ../ftewebgl.html
2013-04-09 21:31:44 +00:00
GL_LDFLAGS = $( GLLDFLAGS) $( IMAGELDFLAGS) $( OGGVORBISLDFLAGS)
2013-04-04 08:08:49 +00:00
GL_CFLAGS = $( GLCFLAGS)
2013-04-02 05:18:17 +00:00
IMAGELDFLAGS =
OGGVORBISLDFLAGS =
BOTLIB_CFLAGS =
2013-05-11 05:03:07 +00:00
#generate deps properly
#DEPCC=
2013-04-02 05:18:17 +00:00
e n d i f
2005-01-23 17:44:11 +00:00
SV_DIR ?= sv_sdl
2013-05-11 05:03:07 +00:00
DEPCC ?= $( CC)
2005-01-23 17:44:11 +00:00
2013-03-12 22:35:33 +00:00
- i n c l u d e M a k e f i l e _ p r i v a t e
2005-01-23 17:44:11 +00:00
.default : help
2007-09-02 19:55:17 +00:00
all : rel
2011-01-28 09:56:45 +00:00
rel : sv -rel gl -rel mingl -rel
dbg : sv -dbg gl -dbg mingl -dbg
2009-07-16 22:06:59 +00:00
relcl : glcl -rel mcl -rel
2011-01-28 09:56:45 +00:00
profile : sv -profile gl -profile mingl -profile
2007-09-02 19:55:17 +00:00
releases :
#this is for releasing things from a linux box
#just go through compiling absolutly everything
-$( MAKE) FTE_TARGET = linux32 rel
-$( MAKE) FTE_TARGET = linux64 rel
-$( MAKE) FTE_TARGET = win32 rel
2010-12-10 13:41:31 +00:00
-$( MAKE) FTE_TARGET = win64 rel
-$( MAKE) FTE_TARGET = win32_SDL rel
-$( MAKE) FTE_TARGET = win64_SDL rel
-$( MAKE) FTE_TARGET = morphos rel
-$( MAKE) FTE_TARGET = macosx rel
2007-09-02 19:55:17 +00:00
# -$(MAKE) FTE_TARGET=linux32 relcl
# -$(MAKE) FTE_TARGET=linux64 relcl
# -$(MAKE) FTE_TARGET=win32 relcl
2011-09-16 05:56:54 +00:00
-$( MAKE) droid-rel
-$( MAKE) FTE_TARGET = win32 npfte-rel
2005-01-23 17:44:11 +00:00
2005-11-21 22:16:53 +00:00
autoconfig : clean
/bin/bash makeconfig.sh y
config : clean
/bin/bash makeconfig.sh
2005-01-23 17:44:11 +00:00
2005-11-21 22:16:53 +00:00
i f n e q ( $( OUT_DIR ) , )
2009-11-07 02:55:09 +00:00
- i n c l u d e $( OUT_DIR ) / * . o . d
2005-11-21 22:16:53 +00:00
e n d i f
2013-08-07 14:20:24 +00:00
VPATH = $( BASE_DIR) : $( CLIENT_DIR) : $( GL_DIR) : $( COMMON_DIR) : $( SERVER_DIR) : $( HTTP_DIR) : $( BASE_DIR) /irc : $( BASE_DIR) /email : $( QUX_DIR) : $( PROGS_DIR) : $( NACL_DIR) : $( D3D_DIR) : $( BOTLIB_DIR) : $( BASE_DIR) /libs/speex/libspeex : $( BASE_DIR) /web
2005-01-23 17:44:11 +00:00
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
i f n e q ( $( findstring -DSPEEX_STATIC , $ ( CFLAGS ) ) , )
#add these to statically link libspeex
2013-04-02 05:18:17 +00:00
BASE_CFLAGS += $( SPEEXCFLAGS)
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
CLIENT_OBJS += $( SPEEX_OBJS)
e n d i f
2007-10-25 17:59:01 +00:00
# This is for linking the FTE icon to the MinGW target
$(OUT_DIR)/resources.o : winquake .rc
$( WINDRES) -I$( CLIENT_DIR) -O coff $< $@
2009-04-03 07:31:54 +00:00
#npAPI stuff requires some extra resources
$(OUT_DIR)/npplug.o : ftequake /npplug .rc
$( WINDRES) -I$( CLIENT_DIR) -O coff $< $@
2005-11-21 22:16:53 +00:00
#$(OUT_DIR)/%.d: %.c
# @set -e; rm -f $@; \
# $(CC) -MM $(ALL_CFLAGS) $< > $@.$$$$; \
# sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
# rm -f $@.$$$$
$(OUT_DIR)/%.o $(OUT_DIR)/%.d : %.c
2013-05-11 05:03:07 +00:00
i f n e q ( $( DEPCC ) , )
2005-11-21 22:16:53 +00:00
@set -e; rm -f $@ .d; \
2013-05-11 05:03:07 +00:00
$( DEPCC) -MM $( ALL_CFLAGS) $< > $@ .d.$$ $$ ; \
2009-11-07 02:55:09 +00:00
sed 's,\($*\)\.o[ :]*,$@ $@.d : ,g' < $@ .d.$$ $$ > $@ .d; \
sed -e 's/.*://' -e 's/\\$$//' < $@ .d.$$ $$ | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@ .d; \
2005-11-21 22:16:53 +00:00
rm -f $@ .d.$$ $$
2009-11-04 21:16:50 +00:00
e n d i f
2005-05-20 08:13:48 +00:00
$( DO_CC) -I$( OUT_DIR)
2005-01-23 17:44:11 +00:00
2011-10-29 04:06:49 +00:00
$(OUT_DIR)/%.o $(OUT_DIR)/%.d : %.cpp
2013-05-11 05:03:07 +00:00
i f n e q ( $( DEPCC ) , )
2011-10-29 04:06:49 +00:00
@set -e; rm -f $@ .d; \
2013-05-11 05:03:07 +00:00
$( DEPCC) -MM $( ALL_CFLAGS) $< > $@ .d.$$ $$ ; \
2011-10-29 04:06:49 +00:00
sed 's,\($*\)\.o[ :]*,$@ $@.d : ,g' < $@ .d.$$ $$ > $@ .d; \
sed -e 's/.*://' -e 's/\\$$//' < $@ .d.$$ $$ | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@ .d; \
rm -f $@ .d.$$ $$
e n d i f
$( DO_CC) -I$( OUT_DIR)
2006-02-06 01:06:17 +00:00
$(OUT_DIR)/%.oo $(OUT_DIR)/%.d : %.c
2013-05-11 05:03:07 +00:00
i f n e q ( $( DEPCC ) , )
2006-02-06 01:06:17 +00:00
@set -e; rm -f $@ .d; \
2013-05-11 05:03:07 +00:00
$( DEPCC) -MM $( ALL_CFLAGS) $< > $@ .d.$$ $$ ; \
2009-11-07 02:55:09 +00:00
sed 's,\($*\)\.oo[ :]*,$@ $@.d : ,g' < $@ .d.$$ $$ > $@ .d; \
sed -e 's/.*://' -e 's/\\$$//' < $@ .d.$$ $$ | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@ .d; \
2006-02-06 01:06:17 +00:00
rm -f $@ .d.$$ $$
2009-11-04 21:16:50 +00:00
e n d i f
2006-02-06 01:06:17 +00:00
$( DO_CC) -I$( OUT_DIR)
2007-09-23 22:00:19 +00:00
$(OUT_DIR)/%.mo $(OUT_DIR)/%.d : %.m
@set -e; rm -f $@ .d; \
2013-05-11 05:03:07 +00:00
$( DEPCC) -MM $( ALL_CFLAGS) $< > $@ .d.$$ $$ ; \
2009-11-07 02:55:09 +00:00
sed 's,\($*\)\.mo[ :]*,$@ $@.d : ,g' < $@ .d.$$ $$ > $@ .d; \
sed -e 's/.*://' -e 's/\\$$//' < $@ .d.$$ $$ | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $@ .d; \
2007-09-23 22:00:19 +00:00
rm -f $@ .d.$$ $$
$( DO_CC) -I$( OUT_DIR)
2005-05-20 08:13:48 +00:00
#enables use of precompiled headers in gcc 3.4 onwards.
$(OUT_DIR)/quakedef.h.gch : quakedef .h
2013-05-11 05:03:07 +00:00
$( CC) -x c $( ALL_CFLAGS) -o $@ -c $<
2009-11-04 21:16:50 +00:00
PRECOMPHEADERS ?= $( OUT_DIR) /quakedef.h.gch
2005-05-20 08:13:48 +00:00
2005-01-23 17:44:11 +00:00
#addprefix is to add the ./release/server/ part of the object name
#foreach is needed as the OBJS is a list of variable names containing object lists.
#which is needed as windows sucks too much for the chaining to carry a full list.
#god knows how gcc loads the list properly.
#or at least I hope he does. It makes no sence to mortals.
2005-05-20 08:13:48 +00:00
2013-05-11 14:02:55 +00:00
DO_LD ?= $( CC) -o $@ $( LTO_LD) $( WCFLAGS) $( CFLAGS)
2011-03-12 13:51:40 +00:00
$(OUT_DIR)/$(EXE_NAME) : $( PRECOMPHEADERS ) $( foreach fn , $ ( CUSTOMOBJS ) $ ( foreach ol , $ ( OBJS ) , $ ( $ ( ol ) ) ) ,$ ( if $ ( findstring ltox ,$ ( fn ) ) ,,$ ( OUT_DIR ) /$ ( fn ) ) )
2011-09-05 01:48:23 +00:00
$( DO_LD) $( foreach fn, $( CUSTOMOBJS) $( foreach ol, $( OBJS) $( LTO_END) , $( $( ol) ) ) ,$( if $( findstring ltox,$( fn) ) ,$( subst ltox,-x ,$( fn) ) ,$( OUT_DIR) /$( fn) ) ) $( LDFLAGS)
2005-01-23 17:44:11 +00:00
_out-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( OUT_DIR) /$( EXE_NAME) EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( WCFLAGS) $( RELEASE_CFLAGS) " LDFLAGS = " $( BASELDFLAGS) $( LDFLAGS) $( RELEASE_LDFLAGS) " OBJS = " $( OBJS) "
2006-05-02 00:11:29 +00:00
$( STRIP) $( STRIPFLAGS) $( OUT_DIR) /$( EXE_NAME)
2005-01-23 17:44:11 +00:00
_out-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( OUT_DIR) /$( EXE_NAME) EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( WCFLAGS) $( DEBUG_CFLAGS) " LDFLAGS = " $( BASELDFLAGS) $( LDFLAGS) $( DEBUG_LDFLAGS) " OBJS = " $( OBJS) "
2005-01-23 17:44:11 +00:00
2009-09-05 11:03:25 +00:00
_out-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( OUT_DIR) /$( EXE_NAME) EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( WCFLAGS) $( PROFILE_CFLAGS) " LDFLAGS = " $( BASELDFLAGS) $( LDFLAGS) $( PROFILE_LDFLAGS) " OBJS = " $( OBJS) "
2009-09-05 11:03:25 +00:00
2006-03-06 22:15:40 +00:00
_cl-rel : reldir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-rel EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( CLIENT_ONLY_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
2005-01-23 17:44:11 +00:00
2006-03-06 22:15:40 +00:00
_cl-dbg : debugdir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-dbg EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( CLIENT_ONLY_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
2005-01-23 17:44:11 +00:00
2009-09-05 11:03:25 +00:00
_cl-profile : reldir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-profile EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( CLIENT_ONLY_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
2009-09-05 11:03:25 +00:00
2005-01-23 17:44:11 +00:00
_clsv-rel : reldir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-rel EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( JOINT_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
2005-01-23 17:44:11 +00:00
_clsv-dbg : debugdir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-dbg EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( JOINT_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
2005-01-23 17:44:11 +00:00
2009-09-05 11:03:25 +00:00
_clsv-profile : reldir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) _out-profile EXE_NAME = " $( EXE_NAME) " OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( JOINT_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " SOBJS = " $( SOBJS) " OBJS = "SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
2005-01-23 17:44:11 +00:00
sv-tmp : reldir debugdir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( SV_EXE_NAME) " WCFLAGS = " $( SV_CFLAGS) " LDFLAGS = " $( SV_LDFLAGS) $( LDFLAGS) " OBJS = "SV_OBJS"
2005-01-23 17:44:11 +00:00
sv-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) sv-tmp TYPE = _out-rel OUT_DIR = " $( RELEASE_DIR) / $( SV_DIR) "
2005-01-23 17:44:11 +00:00
sv-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) sv-tmp TYPE = _out-dbg OUT_DIR = " $( DEBUG_DIR) / $( SV_DIR) "
2009-09-05 11:03:25 +00:00
sv-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) sv-tmp TYPE = _out-profile OUT_DIR = " $( PROFILE_DIR) / $( SV_DIR) "
2005-01-23 17:44:11 +00:00
2007-09-17 20:35:39 +00:00
d3dcl-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( D3DCL_EXE_NAME) " WCFLAGS = " $( D3D_CFLAGS) " LDFLAGS = " $( D3D_LDFLAGS) $( LDFLAGS) " SOBJS = " $( D3DCL_OBJS) "
2007-09-17 20:35:39 +00:00
d3d-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( D3D_EXE_NAME) " WCFLAGS = " $( D3D_CFLAGS) " LDFLAGS = " $( D3D_LDFLAGS) $( LDFLAGS) " SOBJS = " $( D3DCL_OBJS) "
2007-09-17 20:35:39 +00:00
d3dcl-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3dcl-tmp TYPE = _cl-rel OUT_DIR = " $( RELEASE_DIR) / $( D3DCL_DIR) "
2007-09-17 20:35:39 +00:00
d3dcl-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3dcl-tmp TYPE = _cl-dbg OUT_DIR = " $( DEBUG_DIR) / $( D3DCL_DIR) "
2009-09-05 11:03:25 +00:00
d3dcl-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3dcl-tmp TYPE = _cl-profile OUT_DIR = " $( PROFILE_DIR) / $( D3DCL_DIR) "
2009-09-05 11:03:25 +00:00
2007-09-17 20:35:39 +00:00
d3d-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3d-tmp TYPE = _clsv-rel OUT_DIR = " $( RELEASE_DIR) / $( D3DB_DIR) "
2007-09-17 20:35:39 +00:00
d3d-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3d-tmp TYPE = _clsv-dbg OUT_DIR = " $( DEBUG_DIR) / $( D3DB_DIR) "
2009-09-05 11:03:25 +00:00
d3d-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) d3d-tmp TYPE = _clsv-profile OUT_DIR = " $( PROFILE_DIR) / $( D3DB_DIR) "
2005-01-23 17:44:11 +00:00
glcl-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( GLCL_EXE_NAME) " WCFLAGS = " $( GL_CFLAGS) " LDFLAGS = " $( GL_LDFLAGS) $( LDFLAGS) " SOBJS = " $( GLCL_OBJS) "
2005-01-23 17:44:11 +00:00
gl-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( GL_EXE_NAME) " WCFLAGS = " $( GL_CFLAGS) " LDFLAGS = " $( GL_LDFLAGS) $( LDFLAGS) " SOBJS = " $( GLCL_OBJS) "
2005-01-23 17:44:11 +00:00
glcl-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) glcl-tmp TYPE = _cl-rel OUT_DIR = " $( RELEASE_DIR) / $( GLCL_DIR) "
2005-01-23 17:44:11 +00:00
glcl-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) glcl-tmp TYPE = _cl-dbg OUT_DIR = " $( DEBUG_DIR) / $( GLCL_DIR) "
2009-09-05 11:03:25 +00:00
glcl-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) glcl-tmp TYPE = _cl-profile OUT_DIR = " $( PROFILE_DIR) / $( GLCL_DIR) "
2005-01-23 17:44:11 +00:00
gl-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) gl-tmp TYPE = _clsv-rel OUT_DIR = " $( RELEASE_DIR) / $( GLB_DIR) "
2005-01-23 17:44:11 +00:00
gl-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) gl-tmp TYPE = _clsv-dbg OUT_DIR = " $( DEBUG_DIR) / $( GLB_DIR) "
2009-09-05 11:03:25 +00:00
gl-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) gl-tmp TYPE = _clsv-profile OUT_DIR = " $( PROFILE_DIR) / $( GLB_DIR) "
2005-01-23 17:44:11 +00:00
2005-09-15 05:55:43 +00:00
mingl-tmp : reldir
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( MINGL_EXE_NAME) " WCFLAGS = " $( GL_CFLAGS) -DMINIMAL " LDFLAGS = " $( GL_LDFLAGS) $( LDFLAGS) " SOBJS = " $( GLCL_OBJS) "
2005-01-24 05:06:16 +00:00
mingl-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mingl-tmp TYPE = _cl-rel OUT_DIR = " $( RELEASE_DIR) / $( MINGL_DIR) "
2009-09-04 15:29:08 +00:00
mingl-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mingl-tmp TYPE = _cl-dbg OUT_DIR = " $( DEBUG_DIR) / $( MINGL_DIR) "
2009-09-05 11:03:25 +00:00
mingl-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mingl-tmp TYPE = _cl-profile OUT_DIR = " $( PROFILE_DIR) / $( MINGL_DIR) "
2005-01-23 17:44:11 +00:00
mcl-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( MCL_EXE_NAME) " WCFLAGS = " $( M_CFLAGS) " LDFLAGS = " $( M_LDFLAGS) $( LDFLAGS) " SOBJS = " $( MCL_OBJS) "
2005-02-06 02:47:36 +00:00
m-tmp :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) $( TYPE) OUT_DIR = " $( OUT_DIR) " EXE_NAME = " $( M_EXE_NAME) " WCFLAGS = " $( M_CFLAGS) " LDFLAGS = " $( M_LDFLAGS) $( LDFLAGS) " SOBJS = " $( MCL_OBJS) "
2005-02-06 02:47:36 +00:00
2005-01-23 17:44:11 +00:00
mcl-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mcl-tmp TYPE = _cl-rel OUT_DIR = " $( RELEASE_DIR) / $( MCL_DIR) "
2005-01-23 17:44:11 +00:00
mcl-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mcl-tmp TYPE = _cl-dbg OUT_DIR = " $( DEBUG_DIR) / $( MCL_DIR) "
2009-09-05 11:03:25 +00:00
mcl-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) mcl-tmp TYPE = _cl-profile OUT_DIR = " $( PROFILE_DIR) / $( MCL_DIR) "
2005-01-23 17:44:11 +00:00
m-rel :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) m-tmp TYPE = _clsv-rel OUT_DIR = " $( RELEASE_DIR) / $( MB_DIR) "
2005-01-23 17:44:11 +00:00
m-dbg :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) m-tmp TYPE = _clsv-dbg OUT_DIR = " $( DEBUG_DIR) / $( MB_DIR) "
2009-09-05 11:03:25 +00:00
m-profile :
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
@$( MAKE) m-tmp TYPE = _clsv-profile OUT_DIR = " $( PROFILE_DIR) / $( MB_DIR) "
2005-01-23 17:44:11 +00:00
2009-07-16 22:06:59 +00:00
.PHONY : m -tmp mcl -tmp mingl -tmp glcl -tmp gl -tmp sv -tmp _clsv -dbg _clsv -rel _cl -dbg _cl -rel _out -rel _out -dbg
2005-01-23 17:44:11 +00:00
2013-03-12 23:09:25 +00:00
2013-07-26 17:19:06 +00:00
_qcc-tmp : $( REQDIR )
2013-07-29 18:09:16 +00:00
@$( MAKE) $( TYPE) EXE_NAME = " $( EXE_NAME) $( EXEPOSTFIX) " PRECOMPHEADERS = "" OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( CLIENT_ONLY_CFLAGS) $( WCFLAGS) " LDFLAGS = " $( LDFLAGS) " OBJS = "QCC_OBJS SOBJS"
2013-07-26 17:19:06 +00:00
qcc-rel :
@$( MAKE) _qcc-tmp TYPE = _out-rel REQDIR = reldir EXE_NAME = "../fteqcc" OUT_DIR = " $( RELEASE_DIR) /qcc " SOBJS = "qcctui.o"
qccgui-rel :
2013-07-29 19:27:09 +00:00
@$( MAKE) _qcc-tmp TYPE = _out-rel REQDIR = reldir EXE_NAME = "../fteqccgui" OUT_DIR = " $( RELEASE_DIR) /qcc " SOBJS = "qccgui.o qccguistuff.o" LDFLAGS = " $( LDFLAGS) -lcomdlg32 -lcomctl32 -mwindows "
2013-07-26 17:19:06 +00:00
qcc-dbg :
2013-11-05 18:12:18 +00:00
@$( MAKE) _qcc-tmp TYPE = _out-dbg REQDIR = debugdir EXE_NAME = "../fteqcc" OUT_DIR = " $( DEBUG_DIR) /qcc " SOBJS = "qcctui.o"
2013-07-26 17:19:06 +00:00
qccgui-dbg :
2013-11-05 18:12:18 +00:00
@$( MAKE) _qcc-tmp TYPE = _out-dbg REQDIR = debugdir EXE_NAME = "../fteqccgui" OUT_DIR = " $( DEBUG_DIR) /qcc " SOBJS = "qccgui.o qccguistuff.o" LDFLAGS = " $( LDFLAGS) -lcomdlg32 -lcomctl32 -mwindows "
2013-07-26 17:19:06 +00:00
2005-01-23 17:44:11 +00:00
i f d e f w i n d i r
debugdir :
2005-07-25 13:37:57 +00:00
@-mkdir -p $( subst /,\, $( OUT_DIR) )
2005-01-23 17:44:11 +00:00
reldir :
2005-07-25 13:37:57 +00:00
@-mkdir -p $( subst /,\, $( OUT_DIR) )
2005-01-23 17:44:11 +00:00
e l s e
reldir :
2005-07-25 13:37:57 +00:00
@-mkdir -p $( RELEASE_DIR)
@-mkdir -p $( OUT_DIR)
2005-01-23 17:44:11 +00:00
debugdir :
2005-07-25 13:37:57 +00:00
@-mkdir -p $( DEBUG_DIR)
@-mkdir -p $( OUT_DIR)
2005-01-23 17:44:11 +00:00
e n d i f
2013-05-04 10:37:51 +00:00
plugins-dbg :
2013-05-03 04:28:08 +00:00
@if test -e ../plugins/Makefile; \
2013-05-04 10:37:51 +00:00
then $( MAKE) native -C ../plugins OUT_DIR = " $( DEBUG_DIR) " CC = " $( CC) $( W32_CFLAGS) $( DEBUG_CFLAGS) " BASE_CFLAGS = " $( BASE_CFLAGS) " FTE_TARGET = " $( FTE_TARGET) " ; \
2013-05-03 04:28:08 +00:00
else echo no plugins directory installed; \
fi
2005-05-20 08:13:48 +00:00
plugins :
2005-01-24 05:06:16 +00:00
2013-05-03 04:28:08 +00:00
plugins-rel :
@if test -e ../plugins/Makefile; \
2013-05-04 04:48:14 +00:00
then $( MAKE) native -C ../plugins OUT_DIR = " $( RELEASE_DIR) " CC = " $( CC) $( W32_CFLAGS) $( RELEASE_CFLAGS) " BASE_CFLAGS = " $( BASE_CFLAGS) " FTE_TARGET = " $( FTE_TARGET) " ; \
2013-05-03 04:28:08 +00:00
else echo no plugins directory installed; \
fi
plugins-rel :
2005-01-23 17:44:11 +00:00
help :
@-echo "Specfic targets:"
@-echo "clean - removes all output (use make dirs afterwards)"
@-echo "all - make all the targets possible"
2007-09-02 19:55:17 +00:00
@-echo "rel - make the releases for the default system"
2009-04-06 02:45:11 +00:00
@-echo "dbg - make the debug builds for the default system"
2009-09-05 11:03:25 +00:00
@-echo "profile - make all the releases with profiling support for the default system"
2005-01-23 17:44:11 +00:00
@-echo ""
@-echo "Normal targets:"
@-echo "(each of these targets must have the postfix -rel or -dbg)"
2009-04-06 02:45:11 +00:00
@-echo "'sv-???' (Dedicated Server)"
@-echo "'gl-???' (OpenGL rendering + Built-in Server)"
2009-07-16 22:06:59 +00:00
@-echo "'m-???' (Merged client, OpenGL & D3D rendering + Dedicated server)"
2009-04-06 02:45:11 +00:00
@-echo "'mingl-???' (Minimal featured OpenGL render)"
@-echo "'d3d-???' (for windows builds)"
@-echo "'mcl-???' (currently broken)"
@-echo "'glcl-???' (currently broken)"
2013-03-12 23:09:25 +00:00
@-echo "'droid-???' (cross compiles Android package)"
@-echo "'npfte-???' (cross compiles QuakeTV Firefox/Netscape browser plugin)"
@-echo "'nacl-???' (cross compiles QuakeTV Firefox/Netscape browser plugin)"
2009-11-04 21:16:50 +00:00
@-echo ""
@-echo "Cross targets can be specified with FTE_TARGET=blah"
@-echo "linux32, linux64 specify specific x86 archs"
@-echo "SDL - Attempt to use sdl for the current target"
@-echo "win32 - Mingw compile for win32"
@-echo "vc - Attempts to use msvc8+ to compile. Note: uses profile guided optimisations. You must build+run the relevent profile target before a release target will compile properly. Debug doesn't care."
2013-03-12 23:09:25 +00:00
@-echo "android, npfte, nacl targets explicitly cross compile, and should generally not be given an FTE_TARGET."
2005-01-23 17:44:11 +00:00
2005-12-15 19:15:39 +00:00
install :
-cp debug/*.* /opt/quake/
-cp release/*.* /opt/quake/
2009-09-05 11:03:25 +00:00
-cp profile/*.* /opt/quake
2005-12-15 19:15:39 +00:00
2005-01-23 17:44:11 +00:00
clean :
-rm -f -r $( RELEASE_DIR)
-rm -f -r $( DEBUG_DIR)
2009-09-05 11:03:25 +00:00
-rm -f -r $( PROFILE_DIR)
2011-09-16 05:56:54 +00:00
-rm -f -r droid/bin
-rm -f -r droid/gen
-rm -f -r droid/libs
-rm -f droid/default.properties
-rm -f droid/local.properties
-rm -f droid/proguard.cfg
-rm -f droid/build.xml
2012-01-02 15:32:08 +00:00
distclean : clean
-rm -f droid/ftekeystore
2011-09-16 05:56:54 +00:00
2013-03-12 23:09:25 +00:00
#################################################
#npfte
npfte-tmprel : reldir
@$( MAKE) $( OUT_DIR) /$( EXE_NAME) OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( NPFTE_CFLAGS) $( RELEASE_CFLAGS) " LDFLAGS = " $( NPFTE_LDFLAGS) $( LDFLAGS) $( RELEASE_LDFLAGS) " OBJS = "NPFTE_OBJS"
npfte-tmpdbg : debugdir
@$( MAKE) $( OUT_DIR) /$( EXE_NAME) OUT_DIR = " $( OUT_DIR) " WCFLAGS = " $( NPFTE_CFLAGS) $( DEBUG_CFLAGS) " LDFLAGS = " $( NPFTE_LDFLAGS) $( LDFLAGS) $( DEBUG_LDFLAGS) " OBJS = "NPFTE_OBJS"
npfte-rel :
2013-03-12 23:19:24 +00:00
-@$( MAKE) npfte-tmprel OUT_DIR = " $( RELEASE_DIR) / $( NPFTEB_DIR) w32 " EXE_NAME = "../npfte.dll" PRECOMPHEADERS = "" FTE_TARGET = win32
-@$( MAKE) npfte-tmprel OUT_DIR = " $( RELEASE_DIR) / $( NPFTEB_DIR) l32 " EXE_NAME = "../npfte32.so" PRECOMPHEADERS = "" FTE_TARGET = linux32
-@$( MAKE) npfte-tmprel OUT_DIR = " $( RELEASE_DIR) / $( NPFTEB_DIR) l64 " EXE_NAME = "../npfte64.so" PRECOMPHEADERS = "" FTE_TARGET = linux64
2013-03-12 23:09:25 +00:00
-cp $( RELEASE_DIR) /npfte.dll npfte/plugins
-cp $( RELEASE_DIR) /npfte32.so npfte/plugins
-cp $( RELEASE_DIR) /npfte64.so npfte/plugins
cd npfte && zip $( abspath $( RELEASE_DIR) /npfte.xpi) install.rdf plugins/npfte.dll plugins/npfte32.so plugins/npfte64.so
rm -rf /tmp/npfte
mkdir /tmp/npfte
cp $( RELEASE_DIR) /npfte.dll /tmp/npfte
cp ./npfte/manifest.json /tmp/npfte
-cd $( RELEASE_DIR) / && ../npfte/crxmake.sh /tmp/npfte ../npfte/chrome.pem
rm -rf /tmp/npfte
npfte-dbg :
@$( MAKE) npfte-tmpdbg OUT_DIR = " $( DEBUG_DIR) / $( NPFTEB_DIR) w32 " EXE_NAME = "../npfte.dll" PRECOMPHEADERS = "" FTE_TARGET = win32
@$( MAKE) npfte-tmpdbg OUT_DIR = " $( DEBUG_DIR) / $( NPFTEB_DIR) l32 " EXE_NAME = "../npfte32.so" PRECOMPHEADERS = "" FTE_TARGET = linux32
@$( MAKE) npfte-tmpdbg OUT_DIR = " $( DEBUG_DIR) / $( NPFTEB_DIR) l64 " EXE_NAME = "../npfte64.so" PRECOMPHEADERS = "" FTE_TARGET = linux64
npfte-profile :
@$( MAKE) npfte-tmp TYPE = _npfte-profile OUT_DIR = " $( PROFILE_DIR) / $( NPFTEB_DIR) "
#################################################
#nacl shortcut
nacl-rel :
@$( MAKE) gl-rel FTE_TARGET = nacl NARCH = x86_32
@$( MAKE) gl-rel FTE_TARGET = nacl NARCH = x86_64
@$( MAKE) gl-rel FTE_TARGET = nacl NARCH = arm
@$( MAKE) gl-rel FTE_TARGET = nacl NARCH = pnacl
nacl-dbg :
@$( MAKE) gl-dbg FTE_TARGET = nacl NARCH = x86_32
@$( MAKE) gl-dbg FTE_TARGET = nacl NARCH = x86_64
@$( MAKE) gl-dbg FTE_TARGET = nacl NARCH = arm
@$( MAKE) gl-dbg FTE_TARGET = nacl NARCH = pnacl
#################################################
#android
2011-09-16 05:56:54 +00:00
#building for android will require:
#download android sdk+ndk
#ant installed
#droid-dbg will install it on 'the current device', if you've got a device plugged in or an emulator running, it should just work.
#makes an ant project for us
droid/build.xml :
2013-07-29 17:36:44 +00:00
-cd droid && PATH = $$ PATH:$( realpath $( ANDROID_HOME) /tools) :$( realpath $( ANDROID_NDK_ROOT) ) $( ANDROID_SCRIPT) update project -t android-8 -p . -n FTEDroid
2011-09-16 05:56:54 +00:00
#build FTE as a library, then build the java+package (release)
2012-01-02 15:32:08 +00:00
droid/ftekeystore :
2013-04-03 09:52:09 +00:00
i f e q ( $( KEYTOOLARGS ) , )
2012-01-02 15:32:08 +00:00
@echo
@echo In order to build a usable APK file it must be signed. That requires a private key.
@echo Creation of a private key requries various bits of info...
@echo You are expected to fill that stuff in now... By the way, don\' t forget the password!
@echo Note that every time you use make droid-rel, you will be required to enter a password.
@echo You can use \' make droid-opt\' instead if you wish to build an optimised build without signing,
@echo but such packages will require a rooted device \( or to be signed later\) .
@echo Just press control-c if you don\' t want to proceed.
@echo Morality warning: never distribute droid/ftekeystore - always do make distclean before distributing.
@echo
2012-01-17 07:57:46 +00:00
$( JAVATOOL) keytool -genkey -v -keystore $@ -alias autogen -keyalg RSA -keysize 2048 -validity 10000
2013-04-03 09:52:09 +00:00
e l s e
@echo Generating keystore
@$( JAVATOOL) keytool -genkey -keystore $@ -alias autogen -keyalg RSA -keysize 2048 -validity 10000 -noprompt $( KEYTOOLARGS)
e n d i f
2012-01-02 15:32:08 +00:00
2013-07-29 17:36:44 +00:00
droid-rel :
$( MAKE) FTE_TARGET = droid droid/build.xml droid/ftekeystore
2012-02-27 12:23:15 +00:00
$( foreach a, $( DROID_ARCH) , $( MAKE) FTE_TARGET = droid gl-rel DROID_ARCH = $a ; )
@$( foreach a, $( DROID_ARCH) , mkdir -p droid/libs/$a ; )
-@$( foreach a, $( DROID_ARCH) , cp $( RELEASE_DIR) /gl_droid-$a /libftedroid.so droid/libs/$a /libftedroid.so; )
2012-01-17 07:57:46 +00:00
@cd droid && $( ANT) release
2012-01-28 10:40:09 +00:00
i f n e q ( $( DROID_PACKSU ) , )
2012-01-28 10:30:44 +00:00
@echo
2012-01-28 10:40:09 +00:00
@echo Adding custom data files - non-compressed
2012-01-28 10:30:44 +00:00
@echo
zip droid/bin/FTEDroid-release-unsigned.apk -0 -j $( DROID_PACKSU)
2012-01-28 10:33:48 +00:00
e n d i f
2012-01-28 10:40:09 +00:00
i f n e q ( $( DROID_PACKSC ) , )
2012-01-28 10:30:44 +00:00
@echo
2012-01-28 10:40:09 +00:00
@echo Adding custom data files - compressed
2012-01-28 10:30:44 +00:00
@echo
zip droid/bin/FTEDroid-release-unsigned.apk -9 -j $( DROID_PACKSC)
2012-01-28 10:33:48 +00:00
e n d i f
2012-01-02 15:32:08 +00:00
@echo
@echo
@echo Signing package... I hope you remember your password.
@echo
2012-02-02 04:19:24 +00:00
@$( JAVATOOL) jarsigner $( JARSIGNARGS) -digestalg SHA1 -sigalg MD5withRSA -keystore droid/ftekeystore droid/bin/FTEDroid-release-unsigned.apk autogen
2012-01-02 15:32:08 +00:00
-rm -f $( RELEASE_DIR) /FTEDroid.apk
2013-11-28 00:45:22 +00:00
$( ANDROID_HOME) /tools/zipalign 4 droid/bin/FTEDroid-release-unsigned.apk $( NATIVE_RELEASE_DIR) /FTEDroid.apk
2012-01-02 15:32:08 +00:00
2013-07-29 17:36:44 +00:00
droid-opt :
$( MAKE) FTE_TARGET = droid droid/build.xml droid/ftekeystore
2011-09-16 05:56:54 +00:00
$( MAKE) FTE_TARGET = droid gl-rel
mkdir -p droid/libs/armeabi
@cp $( RELEASE_DIR) /libftedroid.so droid/libs/armeabi/
2012-01-17 07:57:46 +00:00
@cd droid && $( ANT) release
2011-09-16 05:56:54 +00:00
cp droid/bin/FTEDroid-unsigned.apk $( RELEASE_DIR) /FTEDroid.apk
#build FTE as a library, then build the java+package (release). also installs it onto the 'current' device.
2013-07-29 17:36:44 +00:00
droid-dbg :
$( MAKE) FTE_TARGET = droid droid/build.xml
Android: fat presses, vibrator, onscreen keyboard, keep-screen-on, console scaling, touch-based console scrolling, additional bindables.
Some memory leaks fixed.
latency with the nq protocol over loopback is much reduced.
Terrain: now mostly a property of a (q1 for now) bsp map, file format changed, glsl now built in, terrain editor builtin improved/changed, holes supported.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4067 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-07-14 16:25:18 +00:00
$( foreach a, $( DROID_ARCH) , $( MAKE) FTE_TARGET = droid gl-dbg DROID_ARCH = $a ; )
@$( foreach a, $( DROID_ARCH) , mkdir -p droid/libs/$a ; )
-@$( foreach a, $( DROID_ARCH) , cp $( DEBUG_DIR) /gl_droid-$a /libftedroid.so droid/libs/$a /libftedroid.so; )
2012-01-17 07:57:46 +00:00
@cd droid && $( ANT) debug && $( ANT) debug install
2011-09-16 05:56:54 +00:00
cp droid/bin/FTEDroid-debug.apk $( DEBUG_DIR) /FTEDroid.apk
2005-01-23 17:44:11 +00:00
2012-01-28 10:30:44 +00:00
droid-help :
@-echo "make droid-dbg - compiles engine with debug info and signs package with debug key. Attempts to install onto emulator."
@-echo "make droid-opt - compiles engine with optimisations, but does not sign package. Not useful."
@-echo "make droid-rel - compiles engine with optimisations, adds custom data files, signs with private key, requires password."
@-echo
@-echo " Android Settings:
@-echo "DROID_PACKSC: specifies additional pak or pk3 files to compress into the package, which avoids extra configuration. Only used in release builds. You probably shouldn't use this except for really small packages. Any file seeks will give really poor performance."
@-echo "DROID_PACKSU: like DROID_PACKSC, but without compression. Faster loading times, but bigger. Use for anything that is already compressed (especially pk3s)."
2013-04-09 21:31:44 +00:00
@-echo "ANDROID_HOME: path to the android sdk install path."
@-echo "ANDROID_NDK_ROOT: path to the android ndk install path."
2012-01-28 10:30:44 +00:00
@-echo "ANT: path and name of apache ant. Probably doesn't need to be set if you're on linux."
@-echo "JAVA_HOME: path of your java install. Commonly already set in environment settings."
@-echo "JAVATOOL: path to your java install's bin directory. Doesn't need to be set if its already in your path."
@-echo "JARSIGNARGS: Additional optional arguments to java's jarsigner program. You may want to put -storepass FOO in here, but what ever you do - keep it secure. Avoid bash history snooping, etc. If its not present, you will safely be prompted as required."
@-echo
@-echo "Note that 'make droid-rel' will automatically generate a keystore. If you forget the password, just do a 'make dist-clean'."
2013-05-11 14:02:55 +00:00
makelibs :
i f n d e f A R C H
$( MAKE) makelibs ARCH = $( shell $( CC) -dumpmachine)
e l s e
mkdir -p libs-$( ARCH)
test -f jpegsrc.v9.tar.gz || wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
2013-06-24 09:04:00 +00:00
-test -f libs-$( ARCH) /libjpeg.a || ( cd libs-$( ARCH) && tar -xvzf ../jpegsrc.v9.tar.gz && cd jpeg-9 && ./configure -host= $( ARCH) && $( MAKE) && cp .libs/libjpeg.a ../ && $( ARCH) -ar -s ../libjpeg.a )
2013-05-11 14:02:55 +00:00
test -f zlib-1.2.8.tar.gz || wget http://zlib.net/zlib-1.2.8.tar.gz
2013-06-24 09:04:00 +00:00
-test -f libs-$( ARCH) /libz.a || ( cd libs-$( ARCH) && tar -xvzf ../zlib-1.2.8.tar.gz && cd zlib-1.2.8 && CC = " $( CC) $( W32_CFLAGS) " ./configure --static && $( MAKE) libz.a CC = " $( CC) $( W32_CFLAGS) " && cp libz.a ../ && $( ARCH) -ar -s ../libz.a )
2013-05-11 14:02:55 +00:00
test -f libpng-1.6.2.tar.gz || wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz?download -O libpng-1.6.2.tar.gz
2013-06-24 09:04:00 +00:00
-test -f libs-$( ARCH) /libpng.a || ( cd libs-$( ARCH) && tar -xvzf ../libpng-1.6.2.tar.gz && cd libpng-1.6.2 && ./configure -host= $( ARCH) CFLAGS = -I$( realpath libs-$( ARCH) /zlib-1.2.8/) LDFLAGS = -L$( realpath libs-$( ARCH) ) && $( MAKE) && cp .libs/libpng16.a ../libpng.a )
2013-05-11 14:02:55 +00:00
test -f libogg-1.3.0.tar.gz || wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz
2013-06-24 09:04:00 +00:00
-test -f libs-$( ARCH) /libogg.a || ( cd libs-$( ARCH) && tar -xvzf ../libogg-1.3.0.tar.gz && cd libogg-1.3.0 && ./configure -host= $( ARCH) && $( MAKE) && cp src/.libs/libogg.a ../ && $( ARCH) -ar -s ../libogg.a)
2013-05-11 14:02:55 +00:00
test -f libvorbis-1.3.3.tar.gz || wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
2013-06-24 09:04:00 +00:00
-test -f libs-$( ARCH) /libvorbisfile.a || ( cd libs-$( ARCH) && tar -xvzf ../libvorbis-1.3.3.tar.gz && cd libvorbis-1.3.3 && ./configure PKG_CONFIG = -host= $( ARCH) --disable-oggtest --with-ogg-libraries= .. --with-ogg-includes= $( realpath libs-$( ARCH) /libogg-1.3.0/include) && $( MAKE) && cp lib/.libs/libvorbis.a ../ && cp lib/.libs/libvorbisfile.a ../ )
2013-05-11 14:10:06 +00:00
e n d i f