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
10ifndef V
11SILENT=@
12endif
13
14# Needed to build the features list.
15INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(BUILDDIR) \
16 -I$(BUILDDIR)/bitmaps -I$(OBJDIR)
17
18.PHONY: all buildmanual clean objdir-check
19MANFILE := rockbox-build
20
21VERSION ?= $(shell $(TOOLSDIR)/version.sh $(ROOTDIR))
22
23.PHONY: $(OBJDIR)/version.tex $(OBJDIR)/$(MANFILE).tex
24
25all: manual-pdf
26
27features: $(OBJDIR)/features.tex
28
29objdir-check:
30 @if [ "$(OBJDIR)" = "" ]; then echo Run make in you build directory!; false; fi
31
32
33manual-prep: objdir-check rockbox.tex $(OBJDIR)/CREDITS.tex $(OBJDIR)/version.tex $(OBJDIR)/$(MANFILE).tex
34 $(SILENT)mkdir -p $(OBJDIR)
35 $(SILENT)find * -type d \! -regex '.*\.svn.*' -exec mkdir -p $(OBJDIR)/{} \;
36 $(SILENT)find -L * -type f \! -regex '.*\.svn.*' -exec cp {} $(OBJDIR)/{} \;
37 $(SILENT)mv $(OBJDIR)/Makefile.pdflatex $(OBJDIR)/Makefile
38
39$(OBJDIR)/$(MANFILE).tex:
40 @echo "creating $(notdir $@)"
41 $(SILENT)printf "\\\\newcommand{\\\\platform}{${MANUALDEV}}\n" > $@
42 $(SILENT)printf "\\\\newcommand{\\\\buildversion}{$(VERSION)}\n" >> $@
43 $(SILENT)printf "\\\\input{rockbox.tex}\n" >> $@
44
45$(OBJDIR)/CREDITS.tex: $(DOCSDIR)/CREDITS
46 @echo "processing $(notdir $^)"
47 $(SILENT)mkdir -p $(OBJDIR)
48 $(SILENT)perl credits.pl < $(DOCSDIR)/CREDITS > $@
49
50$(OBJDIR)/version.tex:
51 @echo "creating $(notdir $@)"
52 $(SILENT)mkdir -p $(OBJDIR)
53 $(SILENT)printf "%s%%" $(VERSION) > $@
54
55$(OBJDIR)/features.tex: $(ROOTDIR)/apps/features.txt
56 @echo "processing $(notdir $^)"
57 $(SILENT)mkdir -p $(OBJDIR)
58 $(SILENT)mkdir -p `dirname $@`
59 $(SILENT) for f in \
60 $$(cat $< | $(HOSTCC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) \
61 $(TARGET) $(DEFINES) $(EXTRA_DEFINES) -E -P -imacros "config.h" \
62 -imacros "button.h" - | grep -v "^#" | grep -v "^$$"); \
63 do feat="$$feat\\n\\\\edef\\\\UseOption{\\\\UseOption,$$f}"; done ; \
64 printf "$$feat" > $@
65
66manual-pdf: objdir-check features manual-prep rockbox.tex
67 $(SILENT)$(MAKE) -C $(OBJDIR) buildmanual
68
69manual-html: objdir-check features manual-prep rockbox.tex
70 $(SILENT)$(MAKE) -C $(OBJDIR) buildhtml
71
72manual-txt: manual-html
73 $(SILENT)$(MAKE) -C $(OBJDIR) buildtxt
74
75manual-txt-zip: manual-txt
76 $(SILENT)$(MAKE) -C $(OBJDIR) txtzip
77
78manual-zip: manual-html
79 $(SILENT)$(MAKE) -C $(OBJDIR) htmlzip
80
81manual-7zip: manual-html
82 $(SILENT)$(MAKE) -C $(OBJDIR) html7zip
83
84clean: objdir-check
85 $(SILENT)rm -rf $(OBJDIR)/manual $(OBJDIR)/*.pdf
86 $(SILENT)rm -rf $(OBJDIR)/html $(OBJDIR)/txt