aboutsummaryrefslogtreecommitdiff
path: root/examples/hello/makefile
diff options
context:
space:
mode:
authorJohn Wilbert M. Villamor <lameguy64@gmail.com>2020-01-06 09:52:35 +0800
committerJohn Wilbert M. Villamor <lameguy64@gmail.com>2020-01-06 09:52:35 +0800
commitb6d1d6ef0ccf4b9cfe162aec110992aefab35098 (patch)
tree37f64049024127383ca6d7ef290b913aa70b6ee9 /examples/hello/makefile
parentc98ad0e7dbc48c928aaea0f78214c7ed6556417d (diff)
downloadpsn00bsdk-b6d1d6ef0ccf4b9cfe162aec110992aefab35098.tar.gz
Updated hello world with more comments
Diffstat (limited to 'examples/hello/makefile')
-rw-r--r--examples/hello/makefile29
1 files changed, 25 insertions, 4 deletions
diff --git a/examples/hello/makefile b/examples/hello/makefile
index 3350b85..77edaa7 100644
--- a/examples/hello/makefile
+++ b/examples/hello/makefile
@@ -1,23 +1,40 @@
include ../sdk-common.mk
+# Project target name
TARGET = hello.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))
-INCLUDE +=
-LIBDIRS +=
+# Project specific include and library directories
+# (use -I for include dirs, -L for library dirs)
+INCLUDE +=
+LIBDIRS +=
+# 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 -T $(GCC_BASE)/mipsel-unknown-elf/lib/ldscripts/elf32elmip.x
+# 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 $@