PSPSDK=$(shell psp-config --pspsdk-path)

PSP_LARGE_MEMORY  = 1
BUILD_PRX         = 1
SRC_DIR		= .
OBJ_DIR		= BSPUTILS/qbsp
PSP_EBOOT_TITLE	= Bsp Irshell Plugin 
PSP_EBOOT_ICON	= NULL #pics/icon.png
PSP_EBOOT_PIC1	= NULL #pics/pic.png
PSP_EBOOT_SFO	= $(OBJ_DIR)/PARAM.SFO
PSP_EBOOT		= $(OBJ_DIR)/EBOOT.PBP
TARGET		= $(OBJ_DIR)/qbsp

QBSP_VERSION      = 0.4

OBJS = \
$(OBJ_DIR)/qbsp/brush.o \
$(OBJ_DIR)/qbsp/bspfile.o \
$(OBJ_DIR)/qbsp/cmdlib.o \
$(OBJ_DIR)/qbsp/csg4.o \
$(OBJ_DIR)/qbsp/file.o \
$(OBJ_DIR)/qbsp/globals.o \
$(OBJ_DIR)/qbsp/map.o \
$(OBJ_DIR)/qbsp/mathlib.o \
$(OBJ_DIR)/qbsp/merge.o \
$(OBJ_DIR)/qbsp/outside.o \
$(OBJ_DIR)/qbsp/parser.o \
$(OBJ_DIR)/qbsp/portals.o \
$(OBJ_DIR)/qbsp/qbsp.o \
$(OBJ_DIR)/qbsp/solidbsp.o \
$(OBJ_DIR)/qbsp/surfaces.o \
$(OBJ_DIR)/qbsp/tjunc.o \
$(OBJ_DIR)/qbsp/util.o \
$(OBJ_DIR)/qbsp/wad.o \
$(OBJ_DIR)/qbsp/winding.o \
$(OBJ_DIR)/qbsp/writebsp.o

INCDIR   =
CFLAGS   = -G0 -Wall -O3 -DDOUBLEVEC_T -DQBSP_VERSION=$(QBSP_VERSION)
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS  = $(CFLAGS)
LIBDIR   =
LIBS     = -lpsprtc -lpsppower -lm

# All target.
all: $(PSP_EBOOT)

# How to compile an S file.
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.S
	@echo $(notdir $<)
	@mkdir2 -p $(dir $@)
	@$(CC) $(CFLAGS) -c $< -o $@

# How to compile a C file.
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
	@echo $(notdir $<)
	@mkdir2 -p $(dir $@)
	@$(CC) $(CFLAGS) -c $< -o $@

# How to compile a C++ file.
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
	@echo $(notdir $<)
	@mkdir2 -p $(dir $@)
	@$(CXX) $(CXXFLAGS) -c $< -o $@

# Use the standard PSPSDK build stuff.
include $(PSPSDK)/lib/build.mak
