Makefile (3005B)
1 PY?=python3 2 PELICAN?=pelican 3 PELICANOPTS= 4 5 BASEDIR=$(CURDIR) 6 INPUTDIR=$(BASEDIR)/content 7 OUTPUTDIR=$(BASEDIR)/output 8 #LOCALDIR=${HOME}/public_html/site 9 LOCALDIR=${HOME}/pub/manbytesgnu.com 10 CONFFILE=$(BASEDIR)/pelicanconf.py 11 PUBLISHCONF=$(BASEDIR)/publishconf.py 12 KEYID=59A844A484AC11253D3A3E9DCDCBD24DD1D0E001 13 14 15 DEBUG ?= 0 16 ifeq ($(DEBUG), 1) 17 PELICANOPTS += -D 18 endif 19 20 RELATIVE ?= 0 21 ifeq ($(RELATIVE), 1) 22 PELICANOPTS += --relative-urls 23 endif 24 25 SERVER ?= "0.0.0.0" 26 27 PORT ?= 0 28 ifneq ($(PORT), 0) 29 PELICANOPTS += -p $(PORT) 30 endif 31 32 33 help: 34 @echo 'Makefile for a pelican Web site ' 35 @echo ' ' 36 @echo 'Usage: ' 37 @echo ' make html (re)generate the web site ' 38 @echo ' make clean remove the generated files ' 39 @echo ' make regenerate regenerate files upon modification ' 40 @echo ' make publish generate using production settings ' 41 @echo ' make serve [PORT=8000] serve site at http://localhost:8000' 42 @echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 ' 43 @echo ' make devserver [PORT=8000] serve and regenerate together ' 44 @echo ' make devserver-global regenerate and serve on 0.0.0.0 ' 45 @echo ' ' 46 @echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html ' 47 @echo 'Set the RELATIVE variable to 1 to enable relative urls ' 48 @echo ' ' 49 50 html: 51 "$(PELICAN)" "$(INPUTDIR)" -t ./lash -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 52 53 clean: 54 [ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)" 55 56 regenerate: 57 "$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 58 59 serve: 60 "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 61 62 serve-global: 63 "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER) 64 65 devserver: 66 "$(PELICAN)" -lr "$(INPUTDIR)" -t ./lash -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 67 68 devserver-global: 69 $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -b 0.0.0.0 70 71 publish: 72 "$(PELICAN)" "$(INPUTDIR)" -t ./lash -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS) 73 74 local: 75 "$(PELICAN)" "$(INPUTDIR)" -t ./lash -o "$(LOCALDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 76 77 git: 78 cd $(LOCALDIR) && git rev-parse HEAD 79 rm -vrf $(LOCALDIR)/* 80 PYTHONPATH=$(BASEDIR) "$(PELICAN)" "$(INPUTDIR)" -t ./lash -o "$(LOCALDIR)" -s "$(CONFFILE)" $(PELICANOPTS) 81 rm -vrf $(LOCALDIR)/drafts 82 cd $(LOCALDIR) && git add * 83 cd $(LOCALDIR) && git commit -a --gpg-sign="$(KEYID)" 84 85 86 .PHONY: html help clean regenerate serve serve-global devserver publish