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

                  
          
                     
 


                                                                 
 
                                                                      
 
                  
                         
                         
 
 
 
           



                                 


                                          


                                                        


                                                            
 







                                                                       
 


                                                                

 
 
      




                                          
 

                
      
                                   
                
                                       
                                   

                            
 
 
                                     
                                 
                       

        
                                    


                       



                                                                         
.POSIX:
FQDN = euandre.org

.SUFFIXES:
.SUFFIXES: .flac .ogg

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


favicons = static/lord-favicon.png static/lord-favicon.ico favicon.ico

derived-assets = \
	$(favicons)     \
	TODOs.html      \



all: public

dynamic: generated.mk
	$(MAKE) -f dynamic.mk all

generated.mk: ALWAYS JEKYLL_COMPAT
	sh src/development/dynmake.sh > $@

JEKYLL_COMPAT:
	sh src/development/JEKYLL_COMPAT/copy-content.sh

# NOOP rule to assert that the targets that depend on it are
# always considered stale.
ALWAYS:

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

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

favicon.ico: static/lord-favicon.ico
	ln -fs static/lord-favicon.ico $@

TODOs.html: TODOs.md
	sh aux/workflow/TODOs.sh -n website -m public-inbox -o .




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:
	$(MAKE) -f dynamic.mk clean
	rm -rf \
		public/ .jekyll-cache \
		$(derived-assets) \
		src/content/
	# rm -f generated.mk


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

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

deploy: all
	rsync -avzP public/ $(FQDN):/home/user-data/www/default/ --delete

fqdn:
	printf '$(FQDN)'