--- Makefile.orig	Sat Nov 25 15:28:35 2006
+++ Makefile	Tue Dec 19 20:41:59 2006
@@ -6,7 +6,7 @@
 
 # compilation tool and detection of targets/achitecture
 _E = @
-CC = gcc
+CC ?= gcc
 CC_BASEVERSION = $(shell $(CC) -dumpversion | sed -e 's/\..*//g')
 
 # TYPE = release debug
@@ -16,25 +16,18 @@
 
 # ARCH = x86 ppc
 # OS = linux darwin
-ARCH = $(shell uname -m | sed -e 's/i.86/x86/g' -e 's/Power Macintosh/ppc/g')
+ARCH ?= $(shell uname -m | sed -e 's/i.86/x86/g' -e 's/Power Macintosh/ppc/g')
 OS = $(shell uname -s | tr A-Z a-z)
 
-# add special architecture based flags
-ifeq ($(ARCH),x86_64)
-	ARCH_CFLAGS = -march=k8 -D__LITTLE_ENDIAN__Q__
-endif
-ifeq ($(ARCH),x86)
-	ARCH_CFLAGS = -march=i686 -D__LITTLE_ENDIAN__Q__ -Did386
-endif
-ifeq ($(ARCH),ppc)
-	ARCH_CFLAGS = -arch ppc -faltivec -maltivec -mcpu=7450 -mtune=7450 -mpowerpc -mpowerpc-gfxopt -D__BIG_ENDIAN__Q__
-endif
-
 # TODO: LIB_PREFIX must be $(OS)-$(ARCH)
 ifeq ($(OS),linux)
 	DEFAULT_TARGET = glx
 	OS_GL_CFLAGS = -DWITH_DGA -DWITH_EVDEV -DWITH_VMODE
 endif
+ifeq ($(OS),freebsd)
+	DEFAULT_TARGET = glx
+	OS_GL_CFLAGS = -DWITH_DGA -DWITH_VMODE -I$(X11BASE)/include
+endif
 ifeq ($(OS),darwin)
 	DEFAULT_TARGET = mac
 	OS_GL_CFLAGS = -I/opt/local/include/ -I/Developer/Headers/FlatCarbon -I/sw/include -FOpenGL -FAGL
@@ -50,19 +43,19 @@
 # Directories for object files #
 ################################
 
-GLX_DIR	= $(TYPE)-$(ARCH)/glx
-X11_DIR	= $(TYPE)-$(ARCH)/x11
-SVGA_DIR = $(TYPE)-$(ARCH)/svga
-MAC_DIR	= $(TYPE)-$(ARCH)/mac
+GLX_DIR	= $(TYPE)/glx
+X11_DIR	= $(TYPE)/x11
+SVGA_DIR = $(TYPE)/svga
+MAC_DIR	= $(TYPE)/mac
 
 ################
 # Binary files #
 ################
 
-GLX_TARGET = $(TYPE)-$(ARCH)/ezquake-gl.glx
-X11_TARGET = $(TYPE)-$(ARCH)/ezquake.x11
-SVGA_TARGET = $(TYPE)-$(ARCH)/ezquake.svga
-MAC_TARGET = $(TYPE)-$(ARCH)/ezquake-gl.mac
+GLX_TARGET = $(TYPE)/ezquake-gl.glx
+X11_TARGET = $(TYPE)/ezquake.x11
+SVGA_TARGET = $(TYPE)/ezquake.svga
+MAC_TARGET = $(TYPE)/ezquake-gl.mac
 
 ################
 
@@ -78,9 +71,12 @@
 
 # compiler flags
 PRJ_CFLAGS = -DWITH_ZLIB -DWITH_PNG -DEMBED_TCL -DJSS_CAM
-BASE_CFLAGS = -Wall -funsigned-char $(ARCH_CFLAGS) $(PRJ_CFLAGS) -I ./libs
+XMMS_CFLAGS= -DWITH_XMMS `xmms-config --cflags` `glib-config --cflags`
+BASE_CFLAGS := $(CFLAGS) -I$(LOCALBASE)/include `pcre-config --cflags` -I$(TCL_INCLUDEDIR) -DDATADIR='"$(Q1DIR)"' -Wall -funsigned-char $(PRJ_CFLAGS) $(XMMS_CFLAGS)
 
+ifeq ($(USE_OPTIMIZED_CFLAGS),YES)
 RELEASE_CFLAGS = -pipe -O2 -fno-strict-aliasing -ffast-math -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
+endif
 DEBUG_CFLAGS = -ggdb
 
 # opengl builds
@@ -92,9 +88,9 @@
 CFLAGS = $(BASE_CFLAGS) $(DEBUG_CFLAGS) -D_DEBUG
 endif
 
-LDFLAGS = -lm -lpthread
-COMMON_LIBS = libs/$(LIB_PREFIX)/libpng.a libs/$(LIB_PREFIX)/libz.a libs/$(LIB_PREFIX)/libpcre.a libs/$(LIB_PREFIX)/libexpat.a libs/$(LIB_PREFIX)/libtcl8.4.a
-GL_LIBS = libs/$(LIB_PREFIX)/libjpeg.a
+LDFLAGS = -L$(LOCALBASE)/lib -L$(X11BASE)/lib
+COMMON_LIBS = -lm -lpng -lz `pcre-config --libs` `glib-config --libs` -lexpat -ltcl$(TCL_SUFX) $(PTHREAD_LIBS)
+GL_LIBS = -ljpeg
 
 include Makefile.list
 
