aboutsummaryrefslogblamecommitdiff
path: root/Makefile
blob: b5c85e4a33d7311fd5aab40b400be9a04d3b38e0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
       









                                    


                                                                 












                                           
                                         
 



                                                       


                                                                                                           

                          


                           







                                   
 

           



                                 
                                 

                                              



                                                                         
                           
 




                                                                             
                                      
 
                                      
                                                                  

                               
                                     

 
 
      




                                          
 

                
      
                
                                       
                                   
                                                  
 
                                     
                         
                       

        
                                    



                                                                             
.POSIX:

.SUFFIXES:
.SUFFIXES: .ly .flac .midi .ogg .pdf

.ly.midi:
	lilypond -o $* $<

.midi.ogg:
	timidity -Ov $<

.flac.ogg:
	ffmpeg -y -i $< -ar 48000 -vn -c:a libvorbis -b:a 320k $@


lilypond.ly = \
	music/choro-da-saudade.ly \
	music/dengoso.ly          \
	music/marcha-dos-marinheiros.ly
lilypond.pdf  = $(lilypond.ly:.ly=.pdf)
lilypond.midi = $(lilypond.ly:.ly=.midi)
lilypond.ogg  = $(lilypond.midi:.midi=.ogg)
lilypond = \
	$(lilypond.pdf)  \
	$(lilypond.midi) \
	$(lilypond.ogg)

favicons = static/favicon.png favicon.ico

podcasts.flac = \
	resources/podcasts/2020-12-19-a-test-entry.flac
podcasts.ogg = $(podcasts.flac:.flac=.ogg)

screencasts.webm = \
	resources/screencasts/2021-02-07-autoqemu-automate-installation-and-ssh-setup-of-iso-os-images.webm

torrents-in = \
	$(podcasts.flac) \
	$(podcasts.ogg)  \
	$(screencasts.webm)

torrents = $(torrents-in:=.torrent)

derived-assets = \
	$(lilypond)     \
	$(favicons)     \
	$(podcasts.ogg) \
	$(torrents)


all: public


$(lilypond.pdf): $(lilypond.midi)


torrent-files.txt: $(torrents-in)
	echo $(torrents-in) | tr ' ' '\n' > $@

files.mk: torrent-files.txt
	printf '' > $@
	printf 'torrent-files = \\\n' >> $@
	sed -e 's/^/\t/' -e 's/$$/.torrent \\/' < torrent-files.txt >> $@
	printf '\n\n' >> $@

deps.mk: torrent-files.txt
	printf '' > $@
	awk '{ printf "%s.torrent: %s\n", $$1, $$1 }' torrent-files.txt >> $@

$(torrents): files.mk deps.mk
	$(MAKE) -f dynamic.mk torrents

static/favicon.png: static/favicon.svg
	inkscape -o $@ -w 2048 -h 2048 -b white static/favicon.svg

favicon.ico: static/favicon.svg
	convert static/favicon.svg $@



check:
	sh aux/assert-shellcheck.sh
	sh aux/workflow/assert-todos.sh
	sh scripts/assert-spelling.sh
	sh scripts/extract-translations.sh
	sh scripts/apply-translations.sh

dev-check: check

clean:
	rm -rf \
		public/ .jekyll-cache \
		$(derived-assets) \
		torrent-files.txt files.mk deps.mk

JEKYLL = JEKYLL_ENV=production jekyll
public: $(derived-assets)
	$(JEKYLL) build

run: all
	open 'http://localhost:4000'
	$(JEKYLL) serve

deploy: all
	rsync -avzP public/ euandre.org:/home/user-data/www/default/ --delete