From 4b1ee0b9169dca86bd02c97f5771603aa5820ad8 Mon Sep 17 00:00:00 2001 From: Steven Noonan Date: Mon, 12 Oct 2009 01:57:35 -0700 Subject: makefiles: add APPLE_GCC option, to enable or disable use of Apple's GCC Signed-off-by: Steven Noonan --- crawl-ref/source/makefile | 48 ++++++++++++++++++++++------------ crawl-ref/source/rltiles/makefile.mac | 40 ---------------------------- crawl-ref/source/rltiles/makefile.unix | 16 +++++++----- 3 files changed, 41 insertions(+), 63 deletions(-) delete mode 100644 crawl-ref/source/rltiles/makefile.mac (limited to 'crawl-ref') diff --git a/crawl-ref/source/makefile b/crawl-ref/source/makefile index acaa05fe07..3543386564 100644 --- a/crawl-ref/source/makefile +++ b/crawl-ref/source/makefile @@ -8,8 +8,11 @@ GAME = crawl -CC = gcc -CXX = g++ +# +# The GCC and GXX variables are set later. +# +CC = $(GCC) +CXX = $(GXX) DELETE = rm -f COPY = cp @@ -139,38 +142,47 @@ LIB := -L$(LUASRC) -l$(LUALIB) $(LIBDBM) INCLUDES += -Iutil -I. -I$(LUASRC) $(EXTRA_INCLUDES) ifeq ($(OSNAME),MacOS) +APPLE_GCC=y +else +APPLE_GCC=n +endif +export APPLE_GCC + +GCC_VER= + +ifneq ($(APPLE_GCC),n) # Compatibility level for Mac OS X # -SDK_VER=10.4 -GCC_VER=4.0 +SDK_VER := 10.4 +GCC_VER := 4.0 # FIXME: The '-arch i386' is only here until # SDL 1.2.14 is available # -ARCHS=-arch i386 +ARCHS := -arch i386 # Mac OS X 10.4 adds a 'u' on the end of the SDK name. Everything # else is much easier to predict the name of. ifeq ($(SDK_VER),10.4) -SDKROOT=/Developer/SDKs/MacOSX$(SDK_VER)u.sdk +SDKROOT := /Developer/SDKs/MacOSX$(SDK_VER)u.sdk else -SDKROOT=/Developer/SDKs/MacOSX$(SDK_VER).sdk -endif - -ifneq ($(GCC_VER),) -GCC = gcc-$(GCC_VER) -GCXX = g++-$(GCC_VER) -else -GCC = gcc -GCXX = g++ +SDKROOT := /Developer/SDKs/MacOSX$(SDK_VER).sdk endif CC = $(GCC) $(ARCHS) -isysroot $(SDKROOT) -mmacosx-version-min=$(SDK_VER) -CXX = $(GCXX) $(ARCHS) -isysroot $(SDKROOT) -mmacosx-version-min=$(SDK_VER) +CXX = $(GXX) $(ARCHS) -isysroot $(SDKROOT) -mmacosx-version-min=$(SDK_VER) endif # MacOS +ifneq ($(GCC_VER),) +GCC := gcc-$(GCC_VER) +GXX := g++-$(GCC_VER) +else +GCC := gcc +GXX := g++ +endif + RLTILES = rltiles # @@ -182,11 +194,13 @@ DEFINES += -DUSE_TILE INCLUDES += -I$(RLTILES) ifeq ($(OSNAME),MacOS) - # Handle the tile build dependencies for Mac a bit # differently than other platforms. LIB += -framework OpenGL -framework AppKit +endif + +ifneq ($(APPLE_GCC),n) # SDL has a goof in the stock SDL_config.h which checks whether # __MACOSX__ is defined. It's not one of Apple's stock markers, diff --git a/crawl-ref/source/rltiles/makefile.mac b/crawl-ref/source/rltiles/makefile.mac deleted file mode 100644 index 4f6674eafc..0000000000 --- a/crawl-ref/source/rltiles/makefile.mac +++ /dev/null @@ -1,40 +0,0 @@ - -SDL_CFLAGS := -I/Library/Frameworks/SDL.framework/Headers -I/Library/Frameworks/SDL_image.framework/Headers -SDL_LDFLAGS := -framework SDL -framework SDL_image - -PNG_CFLAGS := -I/Library/Frameworks/libpng.framework/Headers -PNG_LDFLAGS := -framework libpng - -CFLAGS := -F/Library/Frameworks $(SDL_CFLAGS) $(PNG_CFLAGS) -LDFLAGS := -F/Library/Frameworks $(SDL_LDFLAGS) $(PNG_LDFLAGS) - -CXX = g++ -m32 -DELETE = rm -f - -TOOLDIR := tool -TILEGEN := $(TOOLDIR)/tilegen.elf - -INPUTS := main dngn player gui -INPUTFILES := $(INPUTS:%=dc-%.txt) -HEADERS := $(INPUTS:%=tiledef-%.h) -SOURCE := $(INPUTS:%=tiledef-%.cc) -IMAGES := $(INPUTS:%=%.png) - -BASE_OBJECTS := tile_colour.o tile.o tile_page.o tile_list_processor.o main.o -OBJECTS := $(BASE_OBJECTS:%=$(TOOLDIR)/%) - -all: $(TILEGEN) $(HEADERS) $(SOURCE) $(IMAGES) - -tiledef-%.h tiledef-%.cc %.png: dc-%.txt $(TILEGEN) - $(TILEGEN) $< - -clean: - $(DELETE) $(HEADERS) $(OBJECTS) $(TILEGEN) $(SOURCE) $(IMAGES) - -distclean: clean - -.cc.o: - ${CXX} ${CFLAGS} -c $< -o $@ - -$(TILEGEN): $(OBJECTS) - ${CXX} ${LDFLAGS} $(OBJECTS) -o $@ diff --git a/crawl-ref/source/rltiles/makefile.unix b/crawl-ref/source/rltiles/makefile.unix index 0d35c801ff..b64c673966 100644 --- a/crawl-ref/source/rltiles/makefile.unix +++ b/crawl-ref/source/rltiles/makefile.unix @@ -1,5 +1,12 @@ -ifeq ($(shell uname -s),Darwin) +ifeq ($(OSNAME),MacOS) +APPLE_GCC=y +else +APPLE_GCC=n +endif + +ifneq ($(APPLE_GCC),n) + SDL_CFLAGS := -I/Library/Frameworks/SDL.framework/Headers -I/Library/Frameworks/SDL_image.framework/Headers SDL_LDFLAGS := -framework SDL -framework SDL_image @@ -9,9 +16,6 @@ PNG_LDFLAGS := -framework libpng CFLAGS := -F/Library/Frameworks $(SDL_CFLAGS) $(PNG_CFLAGS) LDFLAGS := -F/Library/Frameworks $(SDL_LDFLAGS) $(PNG_LDFLAGS) -# FIXME: We need 32-bit until SDL 1.2.14 comes out -CXX ?= g++ -m32 - else SDL_CFLAGS := $(shell sdl-config --cflags) @@ -23,10 +27,10 @@ PNG_LIB := $(shell pkg-config libpng --libs) CFLAGS := $(SDL_CFLAGS) $(PNG_INCLUDE) LDFLAGS := $(SDL_LDFLAGS) $(PNGLIB) -lSDL_image -lpng -CXX ?= g++ - endif +CXX = g++ + DELETE = rm -f TOOLDIR := tool -- cgit v1.2.3-54-g00ecf