freebsd-ports/games/ioquake3/files/patch-Makefile
Chris Rees ff356ceb6a ioquake3:
- Allow slave ports to turn off some options
- Add modular renderer support for slaves
- Add WITH_DEBUG support
- Always check against non-default options so that they can be overridden
  (e.g. for BATCH mode)
- Add pkg-config build dependency

ioquake3-devel, iourbanterror, openarena:
- Fix CURL support
- Link libraries instead of using dlopen

ioquake3-devel, iourbanterror:
- Update SVN snapshot r2064 to r2194
- Improved UDP download speed
- New protocol version 71
- Reduced VOIP latency
- Modular rendering system
- Added r_mode -2 for using display resolution
- Clang support

openarena:
- Switch from engine src dist 21 to 22 (both r1910 based)

openarena-oax:
- Update to B50

iourbanterror, openarena:
- Clean up plist
- Disable GAMELIBS option

PR:		ports/162301
Submitted by:	Dominic Fandrey <kamikaze@bsdforen.de> (maintainer)
Feature safe:	yes
2011-12-12 21:05:02 +00:00

153 lines
4.2 KiB
Text

--- Makefile.orig 2009-04-22 20:54:48.000000000 +0200
+++ Makefile 2011-11-04 20:42:56.000000000 +0100
@@ -187,6 +187,8 @@
# FIXME: introduce CLIENT_CFLAGS
SDL_CFLAGS=$(shell pkg-config --cflags sdl|sed 's/-Dmain=SDL_main//')
SDL_LIBS=$(shell pkg-config --libs sdl)
+ VORBIS_CFLAGS=$(shell pkg-config --silence-errors --cflags vorbis vorbisfile)
+ VORBIS_LIBS=$(shell pkg-config --silence-errors --libs vorbis vorbisfile)
endif
# version info
@@ -521,44 +523,25 @@
ifeq ($(PLATFORM),freebsd)
- ifneq (,$(findstring alpha,$(shell uname -m)))
- ARCH=axp
- else #default to i386
- ARCH=i386
- endif #alpha test
-
-
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -DUSE_ICON $(shell sdl-config --cflags)
-
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
- ifeq ($(USE_OPENAL_DLOPEN),1)
- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
-
- ifeq ($(ARCH),axp)
- BASE_CFLAGS += -DNO_VM_COMPILED
- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
- -fomit-frame-pointer -fexpensive-optimizations
- else
- ifeq ($(ARCH),i386)
- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -mtune=pentiumpro \
- -march=pentium -fomit-frame-pointer -pipe -ffast-math \
- -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
- -funroll-loops -fstrength-reduce
- HAVE_VM_COMPILED=true
- else
- BASE_CFLAGS += -DNO_VM_COMPILED
- endif
- endif
+ ifndef HOMEPATH
+ HOMEPATH = /.ioquake3
+ endif
+
+ ifndef DEFAULT_LIBDIR
+ DEFAULT_LIBDIR = /usr/local/lib/ioquake3
+ endif
+
+ # flags
+ BASE_CFLAGS = $(shell env MACHINE_ARCH=$(ARCH) make -f /dev/null -VCFLAGS) \
+ -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
+ -DHOMEPATH=\\\"$(HOMEPATH)\\\" \
+ -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\" \
+ -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
+ CLIENT_CFLAGS += $(SDL_CFLAGS)
+ HAVE_VM_COMPILED = true
- DEBUG_CFLAGS=$(BASE_CFLAGS) -g
+ OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer
+ OPTIMIZE = $(OPTIMIZEVM) -ffast-math
SHLIBEXT=so
SHLIBCFLAGS=-fPIC
@@ -568,20 +551,52 @@
# don't need -ldl (FreeBSD)
LIBS=-lm
- CLIENT_LIBS =
-
- CLIENT_LIBS += $(shell sdl-config --libs) -lGL
+ CLIENT_LIBS = $(SDL_LIBS) -lGL
+ # optional features/libraries
ifeq ($(USE_OPENAL),1)
- ifneq ($(USE_OPENAL_DLOPEN),1)
- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
+ CLIENT_CFLAGS += -DUSE_OPENAL
+ ifneq ($(USE_LOCAL_HEADERS),1)
+ CLIENT_CFLAGS += $(OPENAL_CFLAGS)
+ endif
+ endif
+
+ ifeq ($(USE_CURL),1)
+ CLIENT_LIBS += $(CURL_LIBS)
+ CLIENT_CFLAGS += -DUSE_CURL
+ ifneq ($(USE_LOCAL_HEADERS),1)
+ CLIENT_CFLAGS += $(CURL_CFLAGS)
endif
endif
ifeq ($(USE_CODEC_VORBIS),1)
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
+ CLIENT_LIBS += $(VORBIS_LIBS)
+ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
+ ifneq ($(USE_LOCAL_HEADERS),1)
+ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
+ endif
endif
+ ifeq ($(BUILD_CLIENT),1)
+ BASE_CFLAGS += $(CLIENT_CFLAGS)
+ endif
+
+ # cross-compiling tweaks
+ ifeq ($(ARCH),i386)
+ ifeq ($(CROSS_COMPILING),1)
+ BASE_CFLAGS += -m32
+ endif
+ endif
+ ifeq ($(ARCH),amd64)
+ ifeq ($(CROSS_COMPILING),1)
+ BASE_CFLAGS += -m64
+ endif
+ endif
+
+ RELEASE_CFLAGS = $(BASE_CFLAGS)
+ DEBUG_CFLAGS = $(BASE_CFLAGS) -g
+
else # ifeq freebsd
#############################################################################
@@ -1442,6 +1457,9 @@
ifeq ($(ARCH),x86_64)
Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
endif
+ ifeq ($(ARCH),amd64)
+ Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
+ endif
ifeq ($(ARCH),ppc)
Q3OBJ += $(B)/client/vm_powerpc.o $(B)/client/vm_powerpc_asm.o
endif
@@ -1591,6 +1609,9 @@
ifeq ($(ARCH),x86_64)
Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
endif
+ ifeq ($(ARCH),amd64)
+ Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
+ endif
ifeq ($(ARCH),ppc)
Q3DOBJ += $(B)/ded/vm_powerpc.o $(B)/ded/vm_powerpc_asm.o
endif