--- 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