A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 101 lines 3.6 kB view raw
1# __________ __ ___. 2# Open \______ \ ____ ____ | | _\_ |__ _______ ___ 3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6# \/ \/ \/ \/ \/ 7# $Id$ 8# 9 10# 3ds_rules 11export DEVKITARM ?= /opt/devkitpro/devkitARM 12export DEVKITPRO ?= /opt/devkitpro 13 14PORTLIBS := $(DEVKITPRO)/portlibs/3ds 15 16CTRULIB ?= $(DEVKITPRO)/libctru 17 18export PATH := $(DEVKITPRO)/portlibs/3ds/bin:$(PATH) 19 20# base_rules 21export SHELL := /usr/bin/env bash 22 23DEVKITPATH=$(shell echo "$(DEVKITPRO)" | sed -e 's/^\([a-zA-Z]\):/\/\1/') 24 25export PATH := $(DEVKITPATH)/tools/bin:$(DEVKITPATH)/devkitARM/bin:$(PATH) 26 27# 3DSX 28VERSION_MAJOR := 1 29VERSION_MINOR := 0 30VERSION_MICRO := 0 31 32APP_TITLE := rockbox 33APP_DESCRIPTION := Open Source Jukebox Firmware 34APP_AUTHOR := rockbox.org 35APP_ICON := $(ROOTDIR)/packaging/ctru/res/icon.png 36 37# CIA 38BANNER_AUDIO := $(ROOTDIR)/packaging/ctru/res/banner.wav 39BANNER_IMAGE := $(ROOTDIR)/packaging/ctru/res/banner.cgfx 40RSF_PATH := $(ROOTDIR)/packaging/ctru/res/app.rsf 41#LOGO := $(ROOTDIR)/packaging/ctru/logo.lz11 42UNIQUE_ID := 0xCB001 43PRODUCT_CODE := CTR-ROCKBOX 44ICON_FLAGS := nosavebackups,visible 45 46# CIA Configuration 47USE_ON_SD := true 48APP_ENCRYPTED := false 49CATEGORY := Application 50USE_ON_SD := true 51MEMORY_TYPE := Application 52SYSTEM_MODE := 64MB 53SYSTEM_MODE_EXT := Legacy 54CPU_SPEED := 268MHz 55ENABLE_L2_CACHE := false 56 57.SECONDEXPANSION: # $$(OBJ) is not populated until after this 58 59MAKEROM ?= makerom 60MAKEROM_ARGS := -elf "$(BINARY).elf" -rsf "$(RSF_PATH)" -banner "$(BUILDDIR)/banner.bnr" -icon "$(BUILDDIR)/icon.icn" -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(PRODUCT_CODE)" -DAPP_UNIQUE_ID="$(UNIQUE_ID)" -DAPP_ENCRYPTED="$(APP_ENCRYPTED)" -DAPP_SYSTEM_MODE="$(SYSTEM_MODE)" -DAPP_SYSTEM_MODE_EXT="$(SYSTEM_MODE_EXT)" -DAPP_CATEGORY="$(CATEGORY)" -DAPP_USE_ON_SD="$(USE_ON_SD)" -DAPP_MEMORY_TYPE="$(MEMORY_TYPE)" -DAPP_CPU_SPEED="$(CPU_SPEED)" -DAPP_ENABLE_L2_CACHE="$(ENABLE_L2_CACHE)" 61MAKEROM_ARGS += -major $(VERSION_MAJOR) -minor $(VERSION_MINOR) -micro $(VERSION_MICRO) 62 63ifneq ($(strip $(LOGO)),) 64 MAKEROM_ARGS += -logo "$(LOGO)" 65endif 66ifneq ($(strip $(ROMFS)),) 67 MAKEROM_ARGS += -DAPP_ROMFS="$(ROMFS)" 68endif 69 70BANNERTOOL ?= bannertool 71 72ifeq ($(suffix $(BANNER_IMAGE)),.cgfx) 73 BANNER_IMAGE_ARG := -ci 74else 75 BANNER_IMAGE_ARG := -i 76endif 77 78ifeq ($(suffix $(BANNER_AUDIO)),.cwav) 79 BANNER_AUDIO_ARG := -ca 80else 81 BANNER_AUDIO_ARG := -a 82endif 83 84# main binary 85$(BUILDDIR)/$(BINARY): $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS) 86ifeq ($(UNAME), Darwin) 87 $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS) -Wl,$(LDMAP_OPT),$(BUILDDIR)/rockbox.map 88else 89 $(call PRINTS,LD $(BINARY))$(CC) -o $@ -Wl,--start-group $^ -Wl,--end-group $(LDOPTS) $(GLOBAL_LDOPTS) \ 90 -Wl,$(LDMAP_OPT),$(BUILDDIR)/rockbox-.map 91 @mv $(BINARY) $(BINARY).elf 92 smdhtool --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $(APP_ICON) "rockbox.smdh" 93 3dsxtool $(BINARY).elf $(BINARY).3dsx --smdh="rockbox.smdh" 94 $(BANNERTOOL) makebanner $(BANNER_IMAGE_ARG) "$(BANNER_IMAGE)" $(BANNER_AUDIO_ARG) "$(BANNER_AUDIO)" -o "$(BUILDDIR)/banner.bnr" 95 $(BANNERTOOL) makesmdh -s "$(APP_TITLE)" -l "$(APP_DESCRIPTION)" -p "$(APP_AUTHOR)" -i "$(APP_ICON)" -f "$(ICON_FLAGS)" -o "$(BUILDDIR)/icon.icn" 96 $(MAKEROM) -f cia -o "$(BINARY).cia" -target t -exefslogo $(MAKEROM_ARGS) 97ifndef DEBUG 98 $(SILENT)rm $(BINARY).elf 99endif 100endif 101