blob: 430d4b9191b9e44d05bfc7daeb539034e2f6a9ea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
pcms := 5m.pcm 10m.pcm 15m.pcm
oggs := $(pcms:.pcm=.ogg)
mp3s := $(pcms:.pcm=.mp3)
artist := "Tomasz Kramkowski"
genre := Electronic
album := Beeps
year := 2024
tracknum_5m := 3
title_5m := "Large Beeps"
tracknum_10m := 2
title_10m := "Versatile Beeps"
tracknum_15m := 1
title_15m := "Medium Beeps"
title = $(title_$(1))
tracknum = $(tracknum_$(1))
all: $(oggs)
mp3: $(mp3s)
5m.pcm: duration := 300
10m.pcm: duration := 600
15m.pcm: duration := 900
%.ogg: %.pcm
oggenc --quiet --raw --raw-bits=8 --raw-chan=1 --raw-rate=8000 --quality=5 --artist=$(artist) --genre=$(genre) --date=$(year) --tracknum=$(call tracknum,$*) --title=$(call title,$*) --album=$(album) --output=$@ $<
%.mp3: %.pcm
lame --quiet -r -s 8 --bitwidth 8 --unsigned -m m -V 4 --tt $(call title,$*) --ta $(artist) --tl $(album) --ty $(year) --tn $(call tracknum,$*) --tg $(genre) --noreplaygain $< $@
$(pcms): target/release/beeps GNUmakefile
$< $(duration) >$@
target/release/beeps: Cargo.lock Cargo.toml beeps.rs
cargo build --release
clean:
rm $(oggs) $(mp3s) $(pcms)
cargo clean
.PHONY: all mp3 clean
|