#!/bin/bash
#
# schps2pdf - Generate PDF files from Eeschema Postscript
#
# Written 2010 by Werner Almesberger
# Copyright 2010 Werner Almesberger
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#


usage()
{
    cat <<EOF 1>&2
usage: $0 [options] [-o file.pdf] [file.ps ...]

  -t prefix  make a table of content. Remove prefix from file names.
  -T title   make a table of content using the specified title. Each
             sheet needs one -T option.
EOF
    exit 1
}


toc=false
out=-
while true; do
    case "$1" in
    -o)	[ -z "$2" ] && usage
	out=$2
	shift 2;;
    -t)	[ -z "$2" ] && usage
	toc=true
	prefix="$2"
	shift 2;;
    -T)	[ -z "$2" ] && usage
	toc=true
	titles="$titles \"$2\""
	shift 2;;
    -*)
	usage;;
    *)
	break;;
    esac
done

in=${1:--}
shift

eval gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=\"$out\" -f \
  `i=1; for n in "$in" "$@"; do \
    i=\`expr $i + 1\`;
    echo "<(sheet=\"\`basename \"$n\" .ps\`\";
    set x $titles; eval t='\\${$i}';
      $toc && echo '[ /Title ('\"\\${t:-\\${sheet#$prefix}}\"') /OUT pdfmark';
    cat \"$n\";)"; done`