#--------------------------------------------------------------------------------- # re-bba-rb on-console test suite — GameCube (.dol), devkitPPC + libogc # # make build gc_bba_test.dol # make clean # # Needs devkitPro with the `gamecube-dev` group installed (DEVKITPPC set). # Run the .dol from Swiss (SD Gecko / SD2SP2 / USB Gecko) on a console with the # re-bba-rb adapter in Serial Port 1. #--------------------------------------------------------------------------------- ifeq ($(strip $(DEVKITPPC)),) $(error "DEVKITPPC is not set. Install devkitPro's gamecube-dev group, or rebuild the devcontainer.") endif include $(DEVKITPPC)/gamecube_rules TARGET := $(notdir $(CURDIR)) BUILD := build SOURCES := source DATA := data INCLUDES := CFLAGS := -g -O2 -Wall -Wextra $(MACHDEP) $(INCLUDE) CXXFLAGS:= $(CFLAGS) LDFLAGS := -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LIBS := -logc -lm LIBDIRS := #--------------------------------------------------------------------------------- ifneq ($(BUILD),$(notdir $(CURDIR))) #--------------------------------------------------------------------------------- export OUTPUT := $(CURDIR)/$(TARGET) export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ $(foreach dir,$(DATA),$(CURDIR)/$(dir)) export DEPSDIR := $(CURDIR)/$(BUILD) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CXXFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) export LD := $(CC) export OFILES := $(CFILES:.c=.o) $(CXXFILES:.cpp=.o) $(sFILES:.s=.o) $(SFILES:.S=.o) export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ -I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) -L$(LIBOGC_LIB) .PHONY: $(BUILD) clean $(BUILD): @[ -d $@ ] || mkdir -p $@ @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile clean: @echo clean ... @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol $(OUTPUT).dol.map #--------------------------------------------------------------------------------- else DEPENDS := $(OFILES:.o=.d) $(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).elf: $(OFILES) -include $(DEPENDS) endif #---------------------------------------------------------------------------------