aboutsummaryrefslogtreecommitdiff
path: root/examples/cdrom/cdxa/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cdrom/cdxa/makefile')
-rw-r--r--examples/cdrom/cdxa/makefile52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/cdrom/cdxa/makefile b/examples/cdrom/cdxa/makefile
new file mode 100644
index 0000000..8858979
--- /dev/null
+++ b/examples/cdrom/cdxa/makefile
@@ -0,0 +1,52 @@
+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-
+
+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)
+
+iso:
+ 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:
+ rm -rf build $(TARGET) $(TARGET:.elf=.exe)