1 # GNUmakefile --- GNU Makefile for building my personal site
3 # Copyright (c) 2020-2021 bandali
5 # Copying and distribution of this file, with or without modification,
6 # are permitted in any medium without royalty provided the copyright
7 # notice and this notice are preserved. This file is offered as-is,
8 # without any warranty.
11 gen
= perl txt2html
< $< > $@
12 gen_fa
= perl txt2html
--lang
='fa' < $< > $@
13 port
:= $(if
$(port
),$(port
),8000)
15 TXT
:= $(filter-out bandali-pubkey.txt bandali.txt
,$(wildcard *.txt
))
16 OUT
:= $(patsubst %.txt
,%.html
,$(TXT
))
17 OUT
:= $(patsubst bandali-
%.html
,%.html
,$(OUT
))
19 TXT_FA
:= $(filter-out fa
/bandali.fa.txt
,$(wildcard fa
/*.fa.txt
))
20 OUT_FA
:= $(patsubst fa
/%.fa.txt
,fa
/%.html
,$(TXT_FA
))
21 OUT_FA
:= $(patsubst fa
/bandali-
%.html
,fa
/%.html
,$(OUT_FA
))
23 all: $(OUT
) $(OUT_FA
) index.html fa
/index.html
25 %.html
: bandali-
%.txt
; $(gen
)
26 %.html
: %.txt
; $(gen
)
27 index.html
: bandali.txt
; $(gen
)
29 fa
/%.html
: fa
/bandali-
%.fa.txt
; $(gen_fa
)
30 fa
/%.html
: fa
/%.fa.txt
; $(gen_fa
)
31 fa
/index.html
: fa
/bandali.fa.txt
; $(gen_fa
)
35 rm -f
$(OUT
) $(OUT_FA
) index.html fa
/index.html
38 python
-m http.server
$(port
) || python
-m SimpleHTTPServer
$(port
)
42 echo
$(TXT
) $(TXT_FA
) bandali.txt fa
/bandali.fa.txt \
43 GNUmakefile txt2html | tr
" " "\n" | entr
-d make
; done
45 .PHONY
: all clean serve watch