A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 68 lines 2.4 kB view raw
1# __________ __ ___. 2# Open \______ \ ____ ____ | | _\_ |__ _______ ___ 3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6# \/ \/ \/ \/ \/ 7# $Id$ 8# 9 10INCLUDES += -I$(FIRMDIR) -I$(FIRMDIR)/export -I$(FIRMDIR)/drivers \ 11 -I$(FIRMDIR)/include -I$(FIRMDIR)/kernel/include 12ifndef APP_TYPE 13INCLUDES += -I$(FIRMDIR)/libc/include 14endif 15 16include $(FIRMDIR)/asm/asm.make 17 18FIRMLIB_SRC += $(call preprocess, $(FIRMDIR)/SOURCES) 19FIRMLIB_OBJ := $(call c2obj, $(FIRMLIB_SRC)) 20FIRMLIB_OBJ += $(BUILDDIR)/sysfont.o 21OTHER_SRC += $(FIRMLIB_SRC) 22 23FIRMLIB = $(BUILDDIR)/firmware/libfirmware.a 24 25ifeq ($(SYSFONT),) 26SYSFONT = 08-Schumacher-Clean 27endif 28SYSFONTX = $(ROOTDIR)/fonts/$(SYSFONT).bdf 29 30CLEANOBJS += $(BUILDDIR)/sysfont.* $(BUILDDIR)/version.* 31 32# Limits for the built-in sysfont: ASCII for bootloaders, ISO8859-1 for normal builds 33ifneq (,$(findstring -DBOOTLOADER,$(EXTRA_DEFINES))) 34 MAXCHAR = 127 35else 36 MAXCHAR = 255 37endif 38 39$(FIRMLIB): $(FIRMLIB_OBJ) 40 $(SILENT)$(shell rm -f $@) 41 $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null 42 43$(BUILDDIR)/sysfont.h: $(SYSFONTX) $(TOOLS) $(BUILDDIR)/firmware/common/config.o 44 $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -h -o $@ $< 45 46$(BUILDDIR)/sysfont.o: $(SYSFONTX) $(BUILDDIR)/sysfont.h 47 $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $< 48 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@ 49 50ifdef USE_LTO 51$(BUILDDIR)/firmware/asm/%.o: CFLAGS += -fno-lto 52$(BUILDDIR)/firmware/kernel/thread.o: CFLAGS += -fno-lto 53endif 54 55# GNU make (at least) has a bug/feature that exported variable are not available 56# in the shell function (but are in recipe). Thus we need to explicitely pass 57# the VERSION environement variable 58SVNVERSION:=$(shell VERSION='$(VERSION)' $(TOOLSDIR)/version.sh $(ROOTDIR)) 59OLDSVNVERSION:=$(shell grep 'RBVERSION' $(BUILDDIR)/rbversion.h 2>/dev/null|cut -d '"' -f 2 || echo "NOREVISION") 60 61CORE_LIBS:=$(FIRMLIB) 62 63ifneq ($(SVNVERSION),$(OLDSVNVERSION)) 64.PHONY: $(BUILDDIR)/rbversion.h 65endif 66 67$(BUILDDIR)/rbversion.h: 68 $(call PRINTS,GEN $(@F))$(TOOLSDIR)/genversion.sh $(BUILDDIR) $(SVNVERSION)