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
10IMGVSRCDIR := $(APPSDIR)/plugins/imageviewer
11IMGVBUILDDIR := $(BUILDDIR)/apps/plugins/imageviewer
12
13ROCKS += $(IMGVBUILDDIR)/imageviewer.rock
14
15IMGV_SRC := $(call preprocess, $(IMGVSRCDIR)/SOURCES)
16IMGV_OBJ := $(call c2obj, $(IMGV_SRC))
17
18# add source files to OTHER_SRC to get automatic dependencies
19OTHER_SRC += $(IMGV_SRC)
20
21$(IMGVBUILDDIR)/imageviewer.rock: $(IMGV_OBJ)
22
23IMGDECFLAGS = $(PLUGINFLAGS) -DIMGDEC
24
25# include decoder's make from each subdir
26IMGVSUBDIRS := $(call preprocess, $(IMGVSRCDIR)/SUBDIRS)
27$(foreach dir,$(IMGVSUBDIRS),$(eval include $(dir)/$(notdir $(dir)).make))
28
29IMGDECLDFLAGS = $(GLOBAL_LDOPTS) -T$(PLUGINLINK_LDS) -Wl,--gc-sections -Wl,-Map,$(IMGVBUILDDIR)/$*.refmap
30
31ifndef APP_TYPE
32 IMGDEC_OUTLDS = $(IMGVBUILDDIR)/%.link
33 IMGDEC_OVLFLAGS = $(GLOBAL_LDOPTS) -T$(IMGVBUILDDIR)/$*.link -Wl,--gc-sections -Wl,-Map,$(IMGVBUILDDIR)/$*.map
34else
35 IMGDEC_OVLFLAGS = $(GLOBAL_LDOPTS) $(PLUGINLDFLAGS) -Wl,$(LDMAP_OPT),$(IMGVBUILDDIR)/$*.map
36endif
37
38$(IMGVBUILDDIR)/%.ovl: $(IMGDEC_OUTLDS)
39 $(call PRINTS,LD $(@F))$(CC) $(IMGDECFLAGS) -o $(IMGVBUILDDIR)/$*.elf \
40 $(filter-out $(PLUGIN_CRT0),$(filter %.o, $^)) \
41 $(filter %.a, $+) \
42 -lgcc $(IMGDEC_OVLFLAGS)
43 $(SILENT)$(call objcopy,$(IMGVBUILDDIR)/$*.elf,$@)
44
45# rule to create reference map for image decoder
46$(IMGVBUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(IMGVSRCDIR)/imageviewer.h $(PLUGINLINK_LDS) $(PLUGIN_LIBS)
47 $(call PRINTS,LD $(@F))$(CC) $(IMGDECFLAGS) -o /dev/null \
48 $(filter %.o, $^) \
49 $(filter %.a, $+) \
50 -lgcc $(IMGDECLDFLAGS)
51
52$(IMGVBUILDDIR)/%.link: $(PLUGIN_LDS) $(IMGVBUILDDIR)/%.refmap
53 $(call PRINTS,PP $(@F))$(call preprocess2file,$<,$@,-DIMGVDECODER_OFFSET=$(shell \
54 $(TOOLSDIR)/ovl_offset.pl $(IMGVBUILDDIR)/$*.refmap))