From 0d4345a9bf2623df079c50a3bc73cbb7deca1176 Mon Sep 17 00:00:00 2001 From: "John Wilbert M. Villamor" Date: Wed, 17 Jul 2019 11:30:07 +0800 Subject: Added C++ support, updated build instructions and makefiles, consolidated libc and libgcc (during build process), libraries now v0.12b and more --- examples/balls/main.c | 2 +- examples/balls/makefile | 27 ++++++++++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) (limited to 'examples/balls') diff --git a/examples/balls/main.c b/examples/balls/main.c index ba6a391..1be49e0 100644 --- a/examples/balls/main.c +++ b/examples/balls/main.c @@ -22,7 +22,7 @@ #include "ball16c.h" -#define MAX_BALLS 384 +#define MAX_BALLS 1024 #define OT_LEN 8 diff --git a/examples/balls/makefile b/examples/balls/makefile index b5c8d91..e0f6bc3 100644 --- a/examples/balls/makefile +++ b/examples/balls/makefile @@ -1,23 +1,40 @@ include ../sdk-common.mk +# Project target name TARGET = balls.elf +# Searches for C, C++ and S (assembler) files in local directory CFILES = $(notdir $(wildcard *.c)) CPPFILES = $(notdir $(wildcard *.cpp)) AFILES = $(notdir $(wildcard *.s)) -OFILES = $(addprefix build/,$(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(AFILES:.s=.o)) +# Determine object files +OFILES = $(addprefix build/,$(CFILES:.c=.o)) \ + $(addprefix build/,$(CPPFILES:.cpp=.o)) \ + $(addprefix build/,$(AFILES:.s=.o)) +# Project specific include and library directories +# (use -I for include dirs, -L for library dirs) INCLUDE += LIBDIRS += -LIBS = -lc -lpsxetc -lpsxgpu -lpsxgte -lpsxspu -lpsxapi -lgcc +# Libraries to link +LIBS = -lpsxetc -lpsxgpu -lpsxgte -lpsxspu -lpsxapi -lc +# C compiler flags CFLAGS = -g -O2 -fno-builtin -fdata-sections -ffunction-sections + +# C++ compiler flags CPPFLAGS = $(CFLAGS) -fno-exceptions + +# Assembler flags AFLAGS = -g -msoft-float -LDFLAGS = -g -Ttext=0x80010000 -gc-sections +# Linker flags +LDFLAGS = -g -Ttext=0x80010000 -gc-sections \ + -T $(GCC_BASE)/mipsel-unknown-elf/lib/ldscripts/elf32elmip.x + +# Toolchain programs CC = $(PREFIX)gcc CXX = $(PREFIX)g++ AS = $(PREFIX)as @@ -31,6 +48,10 @@ build/%.o: %.c @mkdir -p $(dir $@) $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ +build/%.o: %.cpp + @mkdir -p $(dir $@) + $(CXX) $(AFLAGS) $(INCLUDE) -c $< -o $@ + build/%.o: %.s @mkdir -p $(dir $@) $(CC) $(AFLAGS) $(INCLUDE) -c $< -o $@ -- cgit v1.2.3