mirror of
https://github.com/LNH-team/dspico-bootloader.git
synced 2026-06-02 09:06:57 +02:00
Initial commit
This commit is contained in:
112
Makefile
Normal file
112
Makefile
Normal file
@@ -0,0 +1,112 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# SPDX-FileContributor: Antonio Niño Díaz, 2023
|
||||
|
||||
BLOCKSDS ?= /opt/blocksds/core
|
||||
BLOCKSDSEXT ?= /opt/blocksds/external
|
||||
|
||||
export LIBTWL ?= $(shell pwd)/libs/libtwl
|
||||
|
||||
# User config
|
||||
# ===========
|
||||
|
||||
NAME := BOOTLOADER
|
||||
|
||||
GAME_TITLE := DSpico
|
||||
GAME_AUTHOR := LNH team
|
||||
GAME_ICON := icon.bmp
|
||||
|
||||
# DLDI and internal SD slot of DSi
|
||||
# --------------------------------
|
||||
|
||||
# Root folder of the SD image
|
||||
SDROOT := sdroot
|
||||
# Name of the generated image it "DSi-1.sd" for no$gba in DSi mode
|
||||
SDIMAGE := image.bin
|
||||
|
||||
# Source code paths
|
||||
# -----------------
|
||||
|
||||
# A single directory that is the root of NitroFS:
|
||||
NITROFSDIR :=
|
||||
|
||||
# Tools
|
||||
# -----
|
||||
|
||||
MAKE := make
|
||||
RM := rm -rf
|
||||
|
||||
# Verbose flag
|
||||
# ------------
|
||||
|
||||
ifeq ($(VERBOSE),1)
|
||||
V :=
|
||||
else
|
||||
V := @
|
||||
endif
|
||||
|
||||
# Directories
|
||||
# -----------
|
||||
|
||||
ARM9DIR := arm9
|
||||
ARM7DIR := arm7
|
||||
|
||||
# Build artfacts
|
||||
# --------------
|
||||
|
||||
ROM := $(NAME).nds
|
||||
|
||||
# Targets
|
||||
# -------
|
||||
|
||||
.PHONY: all clean arm9 arm7 dldipatch sdimage checklibtwl
|
||||
|
||||
all: $(ROM)
|
||||
|
||||
clean:
|
||||
@echo " CLEAN"
|
||||
$(V)$(MAKE) -f Makefile.arm9 clean --no-print-directory
|
||||
$(V)$(MAKE) -f Makefile.arm7 clean --no-print-directory
|
||||
$(V)$(RM) $(ROM) build $(SDIMAGE)
|
||||
|
||||
arm9: checklibtwl
|
||||
$(V)+$(MAKE) -f Makefile.arm9 --no-print-directory
|
||||
|
||||
arm7: checklibtwl
|
||||
$(V)+$(MAKE) -f Makefile.arm7 --no-print-directory
|
||||
|
||||
checklibtwl:
|
||||
$(MAKE) -C $(LIBTWL)
|
||||
|
||||
ifneq ($(strip $(NITROFSDIR)),)
|
||||
# Additional arguments for ndstool
|
||||
NDSTOOL_ARGS := -d $(NITROFSDIR)
|
||||
|
||||
# Make the NDS ROM depend on the filesystem only if it is needed
|
||||
$(ROM): $(NITROFSDIR)
|
||||
endif
|
||||
|
||||
# Combine the title strings
|
||||
ifeq ($(strip $(GAME_SUBTITLE)),)
|
||||
GAME_FULL_TITLE := $(GAME_TITLE);$(GAME_AUTHOR)
|
||||
else
|
||||
GAME_FULL_TITLE := $(GAME_TITLE);$(GAME_SUBTITLE);$(GAME_AUTHOR)
|
||||
endif
|
||||
|
||||
$(ROM): arm9 arm7
|
||||
@echo " NDSTOOL $@"
|
||||
$(V)$(BLOCKSDS)/tools/ndstool/ndstool -c $@ \
|
||||
-7 build/arm7.elf -9 build/arm9.elf \
|
||||
-b $(GAME_ICON) "$(GAME_FULL_TITLE)" \
|
||||
$(NDSTOOL_ARGS) \
|
||||
-n 1623 1 -n1 2296 24 \
|
||||
-g DSPI
|
||||
|
||||
sdimage:
|
||||
@echo " MKFATIMG $(SDIMAGE) $(SDROOT)"
|
||||
$(V)$(BLOCKSDS)/tools/mkfatimg/mkfatimg -t $(SDROOT) $(SDIMAGE)
|
||||
|
||||
dldipatch: $(ROM)
|
||||
@echo " DLDIPATCH $(ROM)"
|
||||
$(V)$(BLOCKSDS)/tools/dldipatch/dldipatch patch \
|
||||
$(BLOCKSDS)/sys/dldi_r4/r4tf.dldi $(ROM)
|
||||
Reference in New Issue
Block a user