1#LibSDL 1.2.12 2#DS porting by Troy Davis(GPF) 3 4 5ifeq ($(strip $(DEVKITPRO)),) 6$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPro) 7endif 8ifeq ($(strip $(DEVKITARM)),) 9DEVKITARM := $(DEVKITPRO)/devkitARM 10endif 11 12 13SRCS = $(shell echo ./src/*.c ./src/audio/*.c ./src/cdrom/*.c ./src/cpuinfo/*.c ./src/events/*.c ./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c ./src/joystick/*.c ./src/joystick/nds/*.c ./src/cdrom/dummy/*.c ./src/thread/generic/*.c ./src/timer/nds/*.c ./src/loadso/dummy/*.c ./src/audio/dummy/*.c ./src/audio/nds/*.c ./src/video/dummy/*.c ./src/video/nds/*.c) 14 15OBJS = $(SRCS:.c=.o) 16 17 18SUBDIRS= 19 20CC=arm-eabi-gcc 21CXX=arm-eabi-g++ 22LDSHARED=$(CXX) 23AR=arm-eabi-ar rc 24RANLIB=arm-eabi-ranlib 25 26CFLAGS = -mthumb -mthumb-interwork \ 27 -march=armv5te -mtune=arm946e-s \ 28 -O2 -Wall -Wwrite-strings -Wpointer-arith \ 29 -DARM9 -D__NDS__ -I$(DEVKITPRO)/libnds/include -Iinclude 30 31CXXFLAGS += $(CFLAGS) 32 33all: $(DEVKITPRO)/libnds/lib/libSDL.a 34 35 36$(DEVKITPRO)/libnds/lib/libSDL.a: $(OBJS) 37 $(AR) $@ $(OBJS) 38 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 39 40clean: 41 find . -name "*.o" |xargs rm -f 42 find . -name "*.d" |xargs rm -f 43 -rm -f *.elf 44 -rm -f *.nds 45 -rm -f *.gba 46 -rm -f *.arm9 47 -rm -f *.map 48 -rm -f *.img 49 -rm -Rf *.d 50 51 52subdirs: $(patsubst %, _dir_%, $(SUBDIRS)) 53 54$(patsubst %, _dir_%, $(SUBDIRS)): 55 $(MAKE) -C $(patsubst _dir_%, %, $@) 56 57clean_subdirs: $(patsubst %, _clean_dir_%, $(SUBDIRS)) 58 59$(patsubst %, _clean_dir_%, $(SUBDIRS)): 60 $(MAKE) -C $(patsubst _clean_dir_%, %, $@) clean 61 62#include $(DEVKITARM)/ds_rules 63 64