41 lines
		
	
	
		
			948 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			948 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
ifdef CHORDPRO_PIPELINE
 | 
						|
	CHORDPRO_CMD = chordpro
 | 
						|
else
 | 
						|
	CHORDPRO_CMD = docker run -ti --rm --env HOME=$(HOME) --env USER=$(USER) --workdir $(shell pwd) --volume $(HOME):$(HOME) chordpro/chordpro:latest chordpro --config=chordpro.json 
 | 
						|
endif
 | 
						|
 | 
						|
SRC_DIR := $(wildcard content/*)
 | 
						|
SRC_EXTENSION := .cho
 | 
						|
 | 
						|
SONG_CHO := $(foreach dir,$(SRC_DIR),$(wildcard $(dir)/*$(SRC_EXTENSION)))
 | 
						|
SONG_PDF := $(patsubst %$(SRC_EXTENSION),%.pdf,$(SONG_CHO))
 | 
						|
SONG_HTML := $(patsubst %$(SRC_EXTENSION),%.html,$(SONG_CHO))
 | 
						|
SONGBOOK := content/songbook.pdf
 | 
						|
 | 
						|
.DEFAULT_GOAL := pdf
 | 
						|
 | 
						|
%.pdf: %$(SRC_EXTENSION)
 | 
						|
	$(CHORDPRO_CMD) -o $@ $<
 | 
						|
 | 
						|
%.html: %$(SRC_EXTENSION)
 | 
						|
	$(CHORDPRO_CMD) -o $@ $<
 | 
						|
 | 
						|
all: pdf html songbook
 | 
						|
 | 
						|
$(SONGBOOK): $(SONG_PDF)
 | 
						|
	gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$@ $^
 | 
						|
 | 
						|
.PHONY: html
 | 
						|
html: $(SONG_HTML)
 | 
						|
 | 
						|
.PHONY: pdf
 | 
						|
pdf: $(SONG_PDF)
 | 
						|
 | 
						|
.PHONY: songbook
 | 
						|
songbook: pdf
 | 
						|
	$(MAKE) $(SONGBOOK)
 | 
						|
 | 
						|
.PHONY: clean
 | 
						|
clean:
 | 
						|
	rm -f $(SONG_PDF) $(SONG_HTML) $(SONGBOOK)
 |