Blob


1 #!/bin/sh
2 #
3 # stuff we should do in the makefile
4 # but can't for portability reasons.
5 # public domain
7 copy()
8 {
9 dotfiles="$HOME/$1 $dotfiles"
11 dname=$(dirname "$HOME/$1")
12 cat <<EOF >> Makefile.local
13 $HOME/$1: $2
14 [ ! -d "$dname" ] && mkdir -p "$dname" || true
15 cp \$? \$@
16 EOF
17 }
19 pair()
20 {
21 files="$files $2"
22 dotfiles="$HOME/$1 $dotfiles"
23 xxxfiles="${2%.lp} $xxxfiles"
25 dname=$(dirname "$HOME/$1")
26 cat <<EOF >> Makefile.local
27 $HOME/$1: $2
28 [ ! -d "$dname" ] && mkdir -p "$dname" || true
29 ./lpp \$? > \$@
30 EOF
32 if [ -n "$3" ]; then
33 printf '\tchmod %s $@\n' "$3" >> Makefile.local
34 fi
35 echo >> Makefile.local
36 }
38 conv()
39 {
40 gemfiles="gem/$1.gmi $gemfiles"
41 wwwfiles="www/$1.html $wwwfiles"
42 dname=$(dirname "$1")
43 cat <<EOF >> Makefile.local
44 gem/$1.gmi: $2
45 [ ! -d "gem/$dname" ] && mkdir -p "gem/$dname" || true
46 sed 's/EXT/gmi'/ $2 | ./unpar | ./gc > \$@
48 www/$1.html: gem/$1.gmi header.html footer.html
49 [ ! -d "www/$dname" ] && mkdir -p "www/$dname" || true
50 sed 's!TITLE!$1!' header.html > \$@
51 sed 's/EXT/html/' $2 | ./unpar | ./gc | ./gem2html >> \$@
52 cat footer.html >> \$@
54 EOF
55 }
57 rm -f Makefile.local
59 pair .profile profile.lp
60 pair .kshrc kshrc.lp
61 pair lib/profile rc.lp
62 pair .sqliterc sqliterc.lp
63 pair .psqlrc psqlrc.lp
64 pair .cwmrc cwmrc.lp
65 pair .mg mg.lp
67 pair bin/acmerc bin/acmerc.lp +x
68 pair bin/amused-monitor bin/amused-monitor.lp +x
69 pair bin/browser bin/browser.lp +x
70 pair bin/clip bin/clip.lp +x
71 pair bin/gamemode bin/gamemode.lp +x
72 pair bin/gmi2txt bin/gmi2txt.lp +x
73 pair bin/mquote bin/mquote.lp +x
74 pair bin/sshot bin/sshot.lp +x
76 pair .config/herbstluftwm/autostart config/herbstluftwm/autostart.lp
77 pair .config/herbstluftwm/panel config/herbstluftwm/panel.lp +x
78 pair .config/herbstluftwm/process.awk config/herbstluftwm/process.awk.lp
79 pair .config/herbstluftwm/lib config/herbstluftwm/lib.lp
80 pair .config/herbstluftwm/event-gen config/herbstluftwm/event-gen.lp
82 pair .emacs.d/early-init.el emacs/early-init.el.lp
83 copy .emacs.d/init.el emacs/init.el
84 copy .emacs.d/minimal-theme.el emacs/minimal-theme.el
85 copy .emacs.d/simple-pass.el emacs/simple-pass.el
87 conv index index.lp
88 for file in $files; do
89 conv "${file%.lp}" "$file"
90 done
92 cat <<EOF >> Makefile.local
93 DOTFILES = $dotfiles
94 GEMFILES = $gemfiles
95 WWWFILES = $wwwfiles
96 XXXFILES = $(printf "%s\n" $xxxfiles | sort | xargs echo)
97 EOF