Add target to render guide track.
[music/pretentious.git] / targets.mk
index e22fda4a96c9e2fc73d94f239c0c7ab94d4b5ff5..e0c232c283e258bb2c71379c00ec7eabac8f9e02 100644 (file)
@@ -1,27 +1,40 @@
+# Project root directory
+TOP := $(dir $(lastword $(MAKEFILE_LIST)))
+
 # What soundfont to use to generate the MIDI file
 SOUNDFONT = $(HOME)/soundfonts/FluidR3GM.sf2
 # Determine how many processors are present
 CPU_CORES=`grep -m1 "cpu cores" /proc/cpuinfo | tr -cd '[:digit:]'`
 # The command to run lilypond
-LILY_CMD = lilypond -ddelete-intermediate-files -djob-count=$(CPU_CORES)
+LILY_CMD = lilypond -ddelete-intermediate-files -drelative-includes -djob-count=$(CPU_CORES)
 
-instr/%.pdf: instr/%.ly parts/%.ly
+parts/%.pdf: parts/%.ly music/%.ly
        $(LILY_CMD) $<
 
-%.pdf: %.ly parts/*.ly
+%.pdf: %.ly music/*.ly
        $(LILY_CMD) $<
 
-%.midi: %.ly parts/*.ly
+%.midi: %.ly music/*.ly
        $(LILY_CMD) $<
 
 %.wav: %.midi
        fluidsynth -r 48000 -F $@ -l -R no -i -n -a alsa $(SOUNDFONT) $<
 
+%-klick-mono.wav: %.tempo
+       klick -W $@ -f $<
+
+%-klick.wav: %-klick-mono.wav
+       sox $< $@ channels 2
+
+%-guide.wav: %-klick.wav %.wav
+       sox --combine mix $*-klick.wav -v 0.25 $*.wav $@
+
 %.ogg: %.wav
        oggenc $<
 
 wav: $(NAME).wav
 ogg: $(NAME).ogg
+guide: $(NAME)-guide.wav
 
 upload-ogg: ogg
        scp $(NAME).ogg elephly.net:~/elephly.net/secret/band/$(NAME)/$(NAME).ogg