A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10CHESSBOX_SRCDIR = $(APPSDIR)/plugins/chessbox
11CHESSBOX_OBJDIR = $(BUILDDIR)/apps/plugins/chessbox
12
13CHESSBOX_SRC := $(call preprocess, $(CHESSBOX_SRCDIR)/SOURCES)
14CHESSBOX_OBJ := $(call c2obj, $(CHESSBOX_SRC))
15
16OTHER_SRC += $(CHESSBOX_SRC)
17
18ifeq ($(findstring YES, $(call preprocess, $(APPSDIR)/plugins/BUILD_OVERLAY)), YES)
19 ### lowmem targets
20 ROCKS += $(CHESSBOX_OBJDIR)/chessbox.ovl
21 CHESSBOX_OUTLDS = $(CHESSBOX_OBJDIR)/chessbox.link
22 CHESSBOX_OVLFLAGS = -T$(CHESSBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map
23else
24 ROCKS += $(CHESSBOX_OBJDIR)/chessbox.rock
25endif
26
27CHESSBOXFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O2
28
29$(CHESSBOX_OBJDIR)/chessbox.rock: $(CHESSBOX_OBJ)
30
31$(CHESSBOX_OBJDIR)/chessbox.refmap: $(CHESSBOX_OBJ)
32
33$(CHESSBOX_OUTLDS): $(PLUGIN_LDS) $(CHESSBOX_OBJDIR)/chessbox.refmap
34 $(call PRINTS,PP $(@F))$(call preprocess2file,$<,$@,-DOVERLAY_OFFSET=$(shell \
35 $(TOOLSDIR)/ovl_offset.pl $(CHESSBOX_OBJDIR)/chessbox.refmap))
36
37$(CHESSBOX_OBJDIR)/chessbox.ovl: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS)
38 $(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \
39 $(filter %.o, $^) \
40 $(filter %.a, $+) \
41 -lgcc $(CHESSBOX_OVLFLAGS)
42 $(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
43
44# special pattern rule for compiling chessbox with extra flags
45$(CHESSBOX_OBJDIR)/%.o: $(CHESSBOX_SRCDIR)/%.c $(CHESSBOX_SRCDIR)/chessbox.make
46 $(SILENT)mkdir -p $(dir $@)
47 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(CHESSBOXFLAGS) -c $< -o $@