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
8ENGLISH := english
9
10# Use global GCCOPTS
11GCCOPTS += -D__PCTOOL__ -DCHECKWPS
12
13CHECKWPS_SRC = $(call preprocess, $(TOOLSDIR)/checkwps/SOURCES)
14CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC)) $(BUILDDIR)/lang/lang_core.o
15
16OTHER_SRC += $(CHECKWPS_SRC)
17
18INCLUDES = -I$(ROOTDIR)/apps/gui \
19 -I$(ROOTDIR)/apps/gui/skin_engine \
20 -I$(FIRMDIR)/kernel/include \
21 -I$(ROOTDIR)/firmware/export \
22 -I$(ROOTDIR)/firmware/include \
23 -I$(ROOTDIR)/firmware/target/hosted \
24 -I$(ROOTDIR)/firmware/target/hosted/sdl \
25 -I$(ROOTDIR)/apps \
26 -I$(ROOTDIR)/apps/recorder \
27 -I$(ROOTDIR)/apps/radio \
28 -I$(ROOTDIR)/lib/rbcodec \
29 -I$(ROOTDIR)/lib/rbcodec/metadata \
30 -I$(ROOTDIR)/lib/rbcodec/dsp \
31 -I$(APPSDIR) \
32 -I$(BUILDDIR) \
33 -I$(BUILDDIR)/lang \
34 $(TARGET_INC)
35
36.SECONDEXPANSION: # $$(OBJ) is not populated until after this
37
38$(BUILDDIR)/$(BINARY): $$(CHECKWPS_OBJ) $$(CORE_LIBS)
39 @echo LD $(BINARY)
40 $(SILENT)$(HOSTCC) -o $@ $+ $(INCLUDE) $(GCCOPTS) \
41 -L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS))
42
43$(BUILDDIR)/fontbundle.h: $(ROOTDIR)/fonts/*bdf
44 @echo FONTBUNDLE
45 $(SILENT)echo "static unsigned char* bundledfonts[] = {" > $@
46 $(SILENT)ls $(ROOTDIR)/fonts/*bdf | perl -pne 's|.*/(\d+-.*)\.bdf| "$$1",|;' >> $@
47 $(SILENT)echo " NULL, " >> $@
48 $(SILENT)echo "};" >> $@
49
50#### Everything below is hacked in from apps.make and lang.make
51
52$(BUILDDIR)/apps/features: $(ROOTDIR)/apps/features.txt
53 $(SILENT)mkdir -p $(BUILDDIR)/apps
54 $(SILENT)mkdir -p $(BUILDDIR)/lang
55 $(call PRINTS,PP $(<F))
56 $(SILENT)$(CC) $(PPCFLAGS) \
57 -E -P -imacros "config.h" -imacros "button.h" -x c $< | \
58 grep -v "^#" | grep -v "^ *$$" > $(BUILDDIR)/apps/features; \
59
60$(BUILDDIR)/apps/genlang-features: $(BUILDDIR)/apps/features
61 $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@))tr \\n : < $< > $@
62
63$(BUILDDIR)/lang_enum.h: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang
64
65$(BUILDDIR)/lang/lang.h: $(ROOTDIR)/apps/lang/$(ENGLISH).lang $(BUILDDIR)/apps/features $(TOOLSDIR)/genlang $(BUILDDIR)/apps/genlang-features
66 $(call PRINTS,GEN lang.h)
67 $(SILENT)$(TOOLSDIR)/genlang -e=$(ROOTDIR)/apps/lang/$(ENGLISH).lang -p=$(BUILDDIR)/lang -t=$(MODELNAME):`cat $(BUILDDIR)/apps/genlang-features` $<
68
69$(BUILDDIR)/lang/lang_core.c: $(BUILDDIR)/lang/lang.h $(TOOLSDIR)/genlang
70
71$(BUILDDIR)/lang/lang_core.o: $(BUILDDIR)/lang/lang.h $(BUILDDIR)/lang/lang_core.c
72 $(call PRINTS,CC lang_core.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang/lang_core.c -o $@
73
74$(BUILDDIR)/lang/max_language_size.h: $(BUILDDIR)/lang/lang.h
75 $(call PRINTS,GEN $(subst $(BUILDDIR)/,,$@))
76 $(SILENT)echo "#define MAX_LANGUAGE_SIZE 131072" > $@