From b6d1d6ef0ccf4b9cfe162aec110992aefab35098 Mon Sep 17 00:00:00 2001 From: "John Wilbert M. Villamor" Date: Mon, 6 Jan 2020 09:52:35 +0800 Subject: Updated hello world with more comments --- examples/hello/makefile | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'examples/hello/makefile') 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 $@ -- cgit v1.2.3