+## CPP-hack files which need it.
+cppfiles=""
+[ "$xstuff" ] && cppfiles="$cppfiles
+ Xdefaults"
+echo "Hacking files with C preprocessor..."
+defs="-DHOME=$HOME -DPROFILE=$here"
+defs="$defs -DEMACSWD=$(bin/mdw-conf emacs-width 77)"
+for c in $cppfiles; do
+ target=.$c
+ case $c in
+ *:*) target=${c#*:} c=${c%%:*};;
+ esac
+ ft=$HOME$sub/$target
+ dir=${ft%/*}
+ mkdir -p $dir
+ cpp -P $defs dot/$c -o $ft.new
+ mv $ft.new $ft
+ echo " $target"
+done
+echo " all done."
+
+## Substitute things which need substituting.
+dotfilessubst="
+ gitconfig
+ mykermrc
+ pulse-default.pa.in:.pulse/default.pa"
+echo "Installing dotfiles with substitutions..."
+for d in $dotfilessubst; do
+ case $d in
+ *:*) target=${d#*:} d=${d%%:*};;
+ *) target=.$d d=$d.in;;
+ esac
+ ft=$HOME$sub/$target
+ dir=${ft%/*}
+ mkdir -p $dir
+ sed "
+1i\\
+### generated by $here/setup; do not edit!\\
+
+/@home@/ s\a\a$HOME\ag
+/@profile@/ s\a\a$here\ag
+/@releasekey@/ s\a\a$(bin/mdw-conf releasekey 481334C2)\ag
+" dot/$d >$ft.new
+ mv $ft.new $ft
+ echo " $target"
+done
+echo " all done."
+