A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1upgtool:="../upgtools/upgtool"
2scsitool:="../scsitools/scsitool"
3
4.SUFFIXES: # disable old suffix rules
5
6all:
7 @echo "Please select an action:"
8 @echo "- dump_rootfs: dumps the root filesystem to rootfs.tgz"
9 @echo "- do_fw_upgrade: put the device in NWZ_DEV in firmware upgrade mode"
10 @echo "- copy_fw_upgrade: copy firmware to a device with the right name"
11 @echo "- exec_file: craft an upgrade that embeds and execute a file"
12 @echo "- exec_file_extern: craft an upgrade that execute a file on the user partition"
13 @echo "- list_targets: produce of list of available targets"
14 @echo "- install_dualboot"
15
16ifndef UPG
17want_upg:
18 $(info Please set UPG to the upg filename. For example:)
19 $(info make exec_file UPG=hello_world.upg ...)
20 $(error "")
21else
22want_upg: ;
23endif
24
25ifndef EXEC
26want_exec:
27 $(info Please set EXEC to the executable filename. For example:)
28 $(info make exec_file EXEC=hello_world.sh ...)
29 $(error "")
30else
31want_exec: ;
32endif
33
34ifndef NWZ_TARGET
35want_target:
36 $(info Please set NWZ_TARGET to your target. For example:)
37 $(info make dump_rootfs NWZ_TARGET=nwz-e460)
38 $(info Run 'make list_targets' to get a list of all targets)
39 $(error "")
40else
41want_target: ;
42endif
43
44ifndef NWZ_DEV
45want_dev:
46 $(info Please set NWZ_DEV to your dev. For example:)
47 $(info make do_fw_upgrade NWZ_DEV=/dev/sdx)
48 $(error "")
49else
50want_dev: ;
51endif
52
53ifndef NWZ_MOUNT
54want_mount:
55 $(info Please set NWZ_MOUNT to your dev mount point. For example:)
56 $(info make copy_fw_upgrade NWZ_MOUNT=/media/WALKMAN ...)
57 $(error "")
58else
59want_mount: ;
60endif
61
62ifndef LOG
63want_log:
64 $(info Please set LOG to the log filename. For example:)
65 $(info make exec_file_extern LOG=exec.log ...)
66 $(error "")
67else
68want_log: ;
69endif
70
71UPGPACK=$(upgtool) -c -m $(NWZ_TARGET) $(UPG) $(1)
72
73exec_file: want_target want_exec want_upg
74 $(call UPGPACK, exec_file.sh $(EXEC))
75
76install_dualboot: want_target want_exec want_upg
77 $(call UPGPACK, install_dualboot.sh $(EXEC))
78
79exec_file_extern.tmp: want_exec want_upg want_log
80 cat exec_file_extern.sh.in | sed "s|NWZ_EXEC_THIS|$(EXEC)|" |\
81 sed "s|NWZ_LOG_THIS|$(LOG)|" > $@
82.INTERMEDIATE: exec_file_extern.tmp
83
84exec_file_extern: want_target want_exec want_upg want_log exec_file_extern.tmp
85 $(call UPGPACK, exec_file_extern.tmp)
86
87dump_rootfs: want_target want_upg
88 $(call UPGPACK, dump_rootfs.sh)
89
90clean:
91 rm -rf *.upg
92
93list_targets:
94 $(upgtool) -m ?; true # upgtool returns an error in this case, ignore it
95
96copy_fw_upgrade: want_upg want_mount
97 cp $(UPG) "$(NWZ_MOUNT)/NW_WM_FW.UPG"
98
99do_fw_upgrade: want_dev
100 @echo "Device: $(NWZ_DEV)"
101 $(scsitool) $(NWZ_DEV) do_fw_upgrade