73 lines
2.3 KiB
Makefile
73 lines
2.3 KiB
Makefile
# ---- Project Settings --------------------------------------------------------
|
|
|
|
SSH_LOCATION =
|
|
CELLAR_BOTTLE =
|
|
PROJECT_ID =
|
|
INSTALL_DIR =
|
|
|
|
CELLAR_TRACKS = $(CELLAR_BOTTLE)/$(PROJECT_ID)/tracks
|
|
CELLAR_METADATA = $(CELLAR_BOTTLE)/$(PROJECT_ID)/metadata.csv
|
|
CELLAR_ARTWORK = $(CELLAR_BOTTLE)/$(PROJECT_ID)/artwork.png
|
|
|
|
# ---- Makefile Settings -------------------------------------------------------
|
|
|
|
TRACK_LIST := $(shell ssh $(SSH_LOCATION) "ls $(CELLAR_TRACKS)")
|
|
FLAC_FILES := $(addprefix out/, $(addsuffix .flac, $(TRACK_LIST)))
|
|
|
|
GREEN = \e[32m
|
|
CYAN = \e[36m
|
|
END = \e[0m
|
|
|
|
.PHONY: all install clean setup
|
|
|
|
# ---- Pipeline ----------------------------------------------------------------
|
|
|
|
all: setup install
|
|
|
|
setup:
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Create working directory structure"
|
|
@mkdir -p data/tracks
|
|
@mkdir -p out/
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Create working directory structure"
|
|
|
|
data/tracks/%.track:
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Download" "$(notdir $@)"
|
|
@rsync -az -s "$(SSH_LOCATION):$(CELLAR_TRACKS)/$(basename $(notdir $@))" "$@"
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Download" "$(notdir $@)"
|
|
|
|
data/metadata.csv:
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Download" "$(notdir $@)"
|
|
@rsync -az -s "$(SSH_LOCATION):$(CELLAR_METADATA)" "$@"
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Download" "$(notdir $@)"
|
|
|
|
data/artwork.png:
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Download" "$(notdir $@)"
|
|
@rsync -az -s "$(SSH_LOCATION):$(CELLAR_ARTWORK)" "$@"
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Download" "$(notdir $@)"
|
|
|
|
out/%.flac: data/tracks/%.track data/metadata.csv data/artwork.png
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Encode" "$(notdir $@)"
|
|
@python src/encode.py \
|
|
-t $< \
|
|
-id $(basename $(notdir $@)) \
|
|
-m data/metadata.csv \
|
|
-a data/artwork.png \
|
|
-o $@
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Encode" "$(notdir $@)"
|
|
|
|
install: $(FLAC_FILES)
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Copy files to target directory"
|
|
@python src/install.py \
|
|
-td out/ \
|
|
-m data/metadata.csv \
|
|
-d "$(INSTALL_DIR)"
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Copy files to target directory"
|
|
|
|
# ---- Cleanup -----------------------------------------------------------------
|
|
|
|
clean:
|
|
@printf "%b %s\n" "$(CYAN)[ > ]$(END) Clean working directories"
|
|
@rm -rf out/
|
|
@rm -rf data/
|
|
@printf "%b %s\n" "$(GREEN)[ ✓ ]$(END) Clean working directories"
|