# Makefile to build the pandora SDL library
WIZSDK = /mythtv/media/devel/toolchains/openwiz/arm-openwiz-linux-gnu

AR	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ar
RANLIB	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ranlib
CC = $(WIZSDK)/bin/arm-openwiz-linux-gnu-gcc
CXX = $(WIZSDK)/bin/arm-openwiz-linux-gnu-g++
STRIP = $(WIZSDK)/bin/arm-openwiz-linux-gnu-strip

CFLAGS  = -Wall -fPIC -I./include -I$(WIZSDK)/include -DWIZ_GLES_LITE

TARGET_STATIC  = libSDL2.a
TARGET_SHARED  = libSDL2.so

SOURCES = \
	./src/*.c \
	./src/audio/*.c \
	./src/audio/disk/*.c \
	./src/audio/dsp/*.c \
	./src/audio/dummy/*.c \
	./src/cpuinfo/*.c \
	./src/events/*.c \
	./src/file/*.c \
	./src/haptic/*.c \
	./src/haptic/linux/*.c \
	./src/joystick/*.c \
	./src/joystick/linux/*.c \
	./src/loadso/dlopen/*.c \
	./src/sensor/*.c \
	./src/sensor/dummy/*.c \
	./src/stdlib/*.c \
	./src/thread/*.c \
	./src/thread/pthread/SDL_syscond.c \
	./src/thread/pthread/SDL_sysmutex.c \
	./src/thread/pthread/SDL_syssem.c \
	./src/thread/pthread/SDL_systhread.c \
	./src/timer/*.c \
	./src/timer/unix/*.c \
	./src/video/*.c \
	./src/video/dummy/*.c \
	./src/video/pandora/*.c \
	

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

all: config_copy $(TARGET_STATIC) $(TARGET_SHARED)

$(TARGET_STATIC): $(OBJECTS)
	$(AR) crv $@ $^
	$(RANLIB) $@

$(TARGET_SHARED):
	$(CC) -shared -Wl,-soname,$(TARGET_SHARED).0 -o $(TARGET_SHARED).0.0.1  $(OBJECTS)
	ln -s $(TARGET_SHARED).0.0.1 $(TARGET_SHARED).0
	ln -s $(TARGET_SHARED).0 $(TARGET_SHARED)

config_copy:
	cp include/SDL_config_wiz.h include/SDL_config.h

clean:
	rm -f $(TARGET_STATIC) $(TARGET_SHARED)* $(OBJECTS)

install:
	mkdir -p $(WIZSDK)/lib
	mkdir -p $(WIZSDK)/include/SDL2
	cp -f $(TARGET_STATIC) $(WIZSDK)/lib
	cp -f $(TARGET_SHARED).0.0.1 $(WIZSDK)/lib
	rm -f $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0.0.1 $(WIZSDK)/lib/$(TARGET_SHARED).0
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)

	cp $(TARGET_STATIC) ../../toolchain/libs
	cp $(TARGET_SHARED).0.0.1 ../../toolchain/libs
	rm -f ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0.0.1 ../../toolchain/libs/$(TARGET_SHARED).0
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)

	cp $(TARGET_SHARED).0.0.1 ../nehe_demos/build/$(TARGET_SHARED).0
	cp -f include/*.h $(WIZSDK)/include/SDL2/
	cp -f include/*.h ../../toolchain/include/SDL2/
