mirror of
https://github.com/project-slippi/Nintendont.git
synced 2025-10-05 16:13:14 +02:00
104 lines
2.3 KiB
Makefile
104 lines
2.3 KiB
Makefile
#---------------------------------------------------------------------------------
|
|
# Clear the implicit built in rules
|
|
#---------------------------------------------------------------------------------
|
|
|
|
.SUFFIXES:
|
|
#---------------------------------------------------------------------------------
|
|
ifeq ($(strip $(DEVKITPPC)),)
|
|
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
|
|
endif
|
|
ifeq ($(strip $(DEVKITARM)),)
|
|
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
|
|
endif
|
|
|
|
SUBPROJECTS := multidol kernel/asm resetstub \
|
|
fatfs/libfat-arm.a fatfs/libfat-ppc.a \
|
|
codehandler kernel kernelboot \
|
|
loader/source/ppc loader
|
|
.PHONY: all forced clean $(SUBPROJECTS)
|
|
|
|
all: loader
|
|
forced: clean all
|
|
|
|
# Force MacOS/Linux users to compile their own copy of bin2h
|
|
bin2h: bin2h
|
|
@echo " "
|
|
@echo "Building bin2h"
|
|
@echo " "
|
|
$(MAKE) -C kernel/bin2h
|
|
|
|
multidol:
|
|
@echo " "
|
|
@echo "Building Multi-DOL loader"
|
|
@echo " "
|
|
$(MAKE) -C multidol
|
|
|
|
kernel/asm: bin2h
|
|
@echo " "
|
|
@echo "Building asm files"
|
|
@echo " "
|
|
$(MAKE) -C kernel/asm
|
|
|
|
resetstub:
|
|
@echo " "
|
|
@echo "Building reset stub"
|
|
@echo " "
|
|
$(MAKE) -C resetstub
|
|
|
|
fatfs/libfat-arm.a:
|
|
@echo " "
|
|
@echo "Building FatFS library for ARM"
|
|
@echo " "
|
|
$(MAKE) -C fatfs -f Makefile.arm
|
|
|
|
fatfs/libfat-ppc.a:
|
|
@echo " "
|
|
@echo "Building FatFS library for PPC"
|
|
@echo " "
|
|
$(MAKE) -C fatfs -f Makefile.ppc
|
|
|
|
codehandler: bin2h
|
|
@echo " "
|
|
@echo "Building Nintendont code handler"
|
|
@echo " "
|
|
$(MAKE) -C codehandler
|
|
|
|
kernel: kernel/asm fatfs/libfat-arm.a codehandler bin2h
|
|
@echo " "
|
|
@echo "Building Nintendont kernel"
|
|
@echo " "
|
|
$(MAKE) -C kernel
|
|
|
|
loader/source/ppc:
|
|
@echo " "
|
|
@echo "Building Nintendont HID"
|
|
@echo " "
|
|
$(MAKE) -C loader/source/ppc
|
|
|
|
kernelboot:
|
|
@echo " "
|
|
@echo "Building Nintendont kernelboot"
|
|
@echo " "
|
|
$(MAKE) -C kernelboot
|
|
|
|
loader: multidol resetstub fatfs/libfat-ppc.a kernel kernelboot loader/source/ppc
|
|
@echo " "
|
|
@echo "Building Nintendont loader"
|
|
@echo " "
|
|
$(MAKE) -C loader
|
|
|
|
clean:
|
|
@echo " "
|
|
@echo "Cleaning all subprojects..."
|
|
@echo " "
|
|
$(MAKE) -C multidol clean
|
|
$(MAKE) -C kernel/asm clean
|
|
$(MAKE) -C resetstub clean
|
|
$(MAKE) -C fatfs -f Makefile.arm clean
|
|
$(MAKE) -C fatfs -f Makefile.ppc clean
|
|
$(MAKE) -C codehandler clean
|
|
$(MAKE) -C kernel clean
|
|
$(MAKE) -C kernelboot clean
|
|
$(MAKE) -C loader/source/ppc clean
|
|
$(MAKE) -C loader clean
|