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

PSP_LARGE_MEMORY  = 1
BUILD_PRX         = 1
SRC_DIR		      = .
OBJ_DIR		      = BSPUTILS/treeqbsp
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)/treeqbsp

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

INCDIR   =
CFLAGS   = -G0 -Wall -O3
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS  = $(CFLAGS)
LIBDIR   =
LIBS     = -lstdc++ -lm -lc -lpsprtc -lpsppower

# 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
