
#folder of sdk root
DSTWOSDK := /mnt/DSTwo/SDK


#folders with sources
SOURCES = include/debug \
		src \
		src/Audio \
		src/Audio/WAVE \
		src/Audio/OGG \
		src/Audio/OGG/tremor \
		src/Audio/MP3 \
		src/Audio/MP3/libmad \
		src/Filesystem \
		src/Display \
		src/Display/Bmp \
		src/Display/Png \
		src/Display/Jpeg \
		src/Display/Text \
		src/Display/Text/FTText \
		src/Display/Text/FTText/freetype \
		src/Display/Text/BitText \
		src/input \
				
INCLUDES = include include/debug

#freetype folders
FT2SOURCES := src/Display/Text/FTText/freetype/src
FT2MODULES 	:= $(FT2SOURCES)/base/ftbase $(FT2SOURCES)/base/ftsystem $(FT2SOURCES)/base/ftinit $(FT2SOURCES)/base/ftglyph $(FT2SOURCES)/base/ftbitmap \
				$(FT2SOURCES)/truetype/truetype $(FT2SOURCES)/sfnt/sfnt $(FT2SOURCES)/autofit/autofit $(FT2SOURCES)/smooth/smooth

CROSS := /opt/mipsel-4.1.2-nopic/bin/

CC = $(CROSS)mipsel-linux-gcc
AR = $(CROSS)mipsel-linux-ar rcsv
LD	= $(CROSS)mipsel-linux-ld
OBJCOPY	= $(CROSS)mipsel-linux-objcopy
NM	= $(CROSS)mipsel-linux-nm
OBJDUMP	= $(CROSS)mipsel-linux-objdump


#DSTwo library
FS_DIR = $(DSTWOSDK)/libsrc/fs
CONSOLE_DIR = $(DSTWOSDK)/libsrc/console
KEY_DIR = $(DSTWOSDK)/libsrc/key
ZLIB_DIR = $(DSTWOSDK)/libsrc/zlib

LIBS := $(DSTWOSDK)/lib/libds2b.a $(DSTWOSDK)/lib/libds2b.a -lc -lm -lgcc
EXTLIBS := $(DSTWOSDK)/lib/libds2a.a



INC := -I$(DSTWOSDK)/include -I$(FS_DIR) -I$(CONSOLE_DIR) -I$(KEY_DIR) -I$(ZLIB_DIR) \
			$(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
			$(foreach dir,$(SOURCES),-I$(CURDIR)/$(dir)) \

CSRC := $(foreach dir,$(SOURCES),$(wildcard $(dir)/*.c)) \
		$(foreach module,$(FT2MODULES),$(module).c)

CFLAGS := -mips32 -Wall -Wno-char-subscripts -O3 -mno-abicalls -fno-pic -fno-builtin \
	   -fno-exceptions -ffunction-sections -mlong-calls\
	   -fomit-frame-pointer -msoft-float -G 4

#freetype library flags	   
CFLAGS	+=	$(INCLUDE) -DFT2_BUILD_LIBRARY \
						-DFT_CONFIG_MODULES_H="<nds-ftmodule.h>" \
						-DFT_DEBUG_LEVEL_ERROR \
	 


COBJS	:= $(CSRC:.c=.o)


all : depend libbag.a

libbag.a : $(COBJS) $(SOBJS)
	$(AR) $@ $(COBJS) $(SOBJS)
	cp $@ ../lib

.c.o:
	$(CC) $(CFLAGS) $(INC) -o $@ -c $<
	
clean :
	rm -rf $(COBJS) $(SOBJS) *.a
	rm -f depend

depend:	Makefile
	$(CC) -MM $(CFLAGS) $(INC) $(SSRC) $(CSRC) > $@

sinclude depend

