#---------------------------------------------------------------------------------
# Clear the implicit built in rules
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------

ifeq ($(strip $(PSL1GHT)),)
$(error "Please set PSL1GHT in your environment. export PSL1GHT=<path>")
endif

include	$(PSL1GHT)/ppu_rules

#---------------------------------------------------------------------------------
BUILD		:=	build

#---------------------------------------------------------------------------------
ifeq ($(strip $(PLATFORM)),)
#---------------------------------------------------------------------------------
export BASEDIR	:=	$(CURDIR)
export DEPS	:=	$(BASEDIR)/deps
export LIBS	:=	$(BASEDIR)/lib

#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
export LIBDIR	:=	$(LIBS)/$(PLATFORM)
export DEPSDIR	:=	$(DEPS)/$(PLATFORM)

#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------

LIBRARY		:=	$(LIBDIR)/libNoRSX

#---------------------------------------------------------------------------------
DEFINCS		:=	-I$(PORTLIBS)/include/freetype2 -I$(PORTLIBS)/include/ -I$(PORTLIBS)/include/NoRSX -I$(PORTLIBS)/include/ -I$(PSL1GHT)/ppu/include -I$(PSL1GHT)/ppu/include/rsx -I$(PSL1GHT)/ppu/include/lv2 -I$(PSL1GHT)/ppu/include/sys
INCLUDES	:=	$(DEFINCS)

CFLAGS		:=	-O2 -mregnames -Wall -mcpu=cell $(MACHDEP) $(INCLUDES) -Wl,-mcell
CXXFLAGS	:=	$(CFLAGS) 

#---------------------------------------------------------------------------------
VPATH		:=	$(BASEDIR)

#---------------------------------------------------------------------------------
OBJS		:= 	Background.o Font.o Min.o NoRSX.o NoRSXutil.o Bitmap.o Image.o\
			Msg.o Objects.o EventHandler.o Animation.o Spu.o Printf.o

#---------------------------------------------------------------------------------
all: install-headers ppu install
#---------------------------------------------------------------------------------


#---------------------------------------------------------------------------------
install-headers:
#---------------------------------------------------------------------------------
	@[ -d $(PORTLIBS) ] || mkdir -p $(PORTLIBS)
	@[ ! -d $(PORTLIBS)/include/NoRSX ] ||  rm -rf $(PORTLIBS)/include/NoRSX $(PORTLIBS)/include/NoRSX.h
	@cp -frv NoRSX $(PORTLIBS)/include/NoRSX
	@cp -frv NoRSX.h $(PORTLIBS)/include/NoRSX.h


#---------------------------------------------------------------------------------
ppu:
#---------------------------------------------------------------------------------
	@[ -d $(LIBS)/ppu ] || mkdir -p $(LIBS)/ppu
	@[ -d $(DEPS)/ppu ] || mkdir -p $(DEPS)/ppu
	@[ -d ppu ] || mkdir -p ppu
	@$(MAKE) PLATFORM=ppu lib -C ppu -f $(CURDIR)/Makefile

#---------------------------------------------------------------------------------
install:
#---------------------------------------------------------------------------------
	@[ -d $(PORTLIBS)/lib ] || mkdir -p $(PORTLIBS)/lib
	@cp -frv $(CURDIR)/lib/ppu/*.a $(PORTLIBS)/lib

#---------------------------------------------------------------------------------
$(LIBRARY).a: $(OBJS)
#---------------------------------------------------------------------------------

.PHONY: lib ppu 

#---------------------------------------------------------------------------------
lib: $(LIBRARY).a
#---------------------------------------------------------------------------------

#---------------------------------------------------------------------------------
clean:
#---------------------------------------------------------------------------------
	@echo lib cleaned ...
	@rm -rf ppu
	@rm -rf $(DEPS)
	@rm -rf $(LIBS)
	@rm -rf *~ */*~

#---------------------------------------------------------------------------------
-include $(DEPSDIR)/*.d
#---------------------------------------------------------------------------------
