include ../sdk-common.mk TARGET = cdxa.elf CFILES = $(notdir $(wildcard *.c)) CPPFILES = $(notdir $(wildcard *.cpp)) AFILES = $(notdir $(wildcard *.s)) OFILES = $(addprefix build/,$(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(AFILES:.s=.o)) PREFIX = mipsel-unknown-elf- # Include directories INCLUDE = -I../../libpsn00b/include # Library directories, last entry must point toolchain libraries LIBDIRS = -L../../libpsn00b LIBDIRS += -L$(GCC_BASE)/lib/gcc/mipsel-unknown-elf/$(GCC_VERSION) INCLUDE += -I$(GCC_BASE)/lib/gcc/mipsel-unknown-elf/$(GCC_VERSION)/include LIBS = -lpsxcd -lpsxetc -lpsxgpu -lpsxgte -lpsxspu -lpsxsio -lpsxapi -lc CFLAGS = -g -O2 -fno-builtin -fdata-sections -ffunction-sections CPPFLAGS = $(CFLAGS) \ -fno-exceptions \ -fno-rtti \ -fno-unwind-tables \ -fno-threadsafe-statics \ -fno-use-cxa-atexit AFLAGS = -g -msoft-float LDFLAGS = -g -Ttext=0x80010000 -gc-sections \ -T $(GCC_BASE)/mipsel-unknown-elf/lib/ldscripts/elf32elmip.x CC = $(PREFIX)gcc CXX = $(PREFIX)g++ AS = $(PREFIX)as LD = $(PREFIX)ld all: $(OFILES) $(LD) $(LDFLAGS) $(LIBDIRS) $(OFILES) $(LIBS) -o $(TARGET) elf2x -q $(TARGET) mkpsxiso -y -q iso.xml build/%.o: %.c @mkdir -p $(dir $@) $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ build/%.o: %.cpp @mkdir -p $(dir $@) $(CXX) $(CPPFLAGS) $(INCLUDE) -c $< -o $@ build/%.o: %.s @mkdir -p $(dir $@) $(CC) $(AFLAGS) $(INCLUDE) -c $< -o $@ clean: make -C libpsxcd clean rm -rf build $(TARGET) $(TARGET:.elf=.exe)