view Makefile.minimal @ 5130:f2c2f0ecba5f

Fixed bug #1111 kwm@rainbow-runner.nl 2011-01-30 06:28:27 PST Created attachment 562 [details] Build fix with clang. When building sdl 1.2.14 with the Clang compiler http://clang.llvm.org . The build fails in src/video/mmx.h with the following error: -------------------------------------------------- ./src/video/SDL_RLEaccel.c:831:5: error: invalid operand for instruction CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt); ^ ./src/video/SDL_RLEaccel.c:831:17: note: instantiated from: CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt); ^ ./src/video/SDL_RLEaccel.c:831:5: note: instantiated from: CHOOSE_BLIT(RLECLIPBLIT, alpha, fmt); ^ ./src/video/SDL_RLEaccel.c:647:23: note: instantiated from: blitter(2, Uint8, ALPHA_BLIT16_565MMX); \ ^ ./src/video/SDL_RLEaccel.c:282:4: note: instantiated from: movq_r2m(mm3, *dstp); \ ^ In file included from ./src/video/SDL_RLEaccel.c:99: ./src/video/mmx.h:379:28: note: instantiated from: #define movq_r2m(reg, var) mmx_r2m(movq, reg, var) ^ <scratch space>:192:1: note: instantiated from: "movq" ^ <inline asm>:1:2: note: instantiated into assembly here movq %mm3, %dx ^ -------------------------------------------------- According to the clang developers this is a invalid inline assembly. Using the attached patch from the last commit in the below bug report fixes the compile. More details from: http://llvm.org/bugs/show_bug.cgi?id=6730
author Sam Lantinga <slouken@libsdl.org>
date Sun, 30 Jan 2011 13:42:05 -0800
parents b7a48f533966
children
line wrap: on
line source

# Makefile to build the SDL library

INCLUDE = -I./include
CFLAGS  = -g -O2 $(INCLUDE)
AR	= ar
RANLIB	= ranlib

CONFIG_H = include/SDL_config.h
TARGET  = libSDL.a
SOURCES = \
	src/*.c \
	src/audio/*.c \
	src/cdrom/*.c \
	src/cpuinfo/*.c \
	src/events/*.c \
	src/file/*.c \
	src/joystick/*.c \
	src/haptic/*.c \
	src/stdlib/*.c \
	src/thread/*.c \
	src/timer/*.c \
	src/video/*.c \
	src/power/*.c \
	src/audio/dummy/*.c \
	src/video/dummy/*.c \
	src/joystick/dummy/*.c \
	src/haptic/dummy/*.c \
	src/cdrom/dummy/*.c \
	src/thread/generic/*.c \
	src/timer/dummy/*.c \
	src/loadso/dummy/*.c \

OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')

all: $(TARGET)

$(TARGET): $(CONFIG_H) $(OBJECTS)
	$(AR) crv $@ $^
	$(RANLIB) $@

$(CONFIG_H):
	cp $(CONFIG_H).default $(CONFIG_H)

clean:
	rm -f $(TARGET) $(OBJECTS)