From 6ec076bfd1569db587276d34ee3c67f1b4bfe1fc Mon Sep 17 00:00:00 2001
From: Didier Raboud <odyx@debian.org>
Date: Tue, 4 Oct 2016 11:43:57 +0200
Subject: Don't delete printer-profile in clean target

---
 printer-profile.in | 296 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 296 insertions(+)
 create mode 100644 printer-profile.in

diff --git a/printer-profile.in b/printer-profile.in
new file mode 100644
index 0000000..5363847
--- /dev/null
+++ b/printer-profile.in
@@ -0,0 +1,296 @@
+#!/bin/sh
+
+PROGNAME="$0"
+
+usage() {
+	cat <<EOF
+NAME
+    `basename $PROGNAME` - printer-profile using X-Rite ColorMunki and Argyll CMS
+
+SYNOPSIS
+    `basename $PROGNAME` [options] manuf model [rgb|cmyk] [patches] [ink-limit]
+
+DESCRIPTION
+    Prints a test chart, uses the ColorMunki instrument to scan it in, then
+    computes an ICM profile using the Argyll Color Management System.
+
+    Manuf is "sam".  Model is "clp-300" or "clp-315".
+    Manuf is "hp".  Model is "2600" or "cp1215".
+    Manuf is "km".  Model is "1600" or "2300" or "2530".
+
+    "rgb" is the usual setting.  "patches" is a multiple 196 per page.
+
+    Edit the script for additional models.
+
+OPTIONS
+    -b 1|2        Bits per pixel ($BPP)
+    -r XRESxYRES  Resolution. Default=''. ($RES)
+    -P rem-print  Remote print (64-bit) machine, or none ($REMPRINT)
+    -S rem-scan   Remote scan (ColorMunki) machine, or none ($REMSCAN)
+    -D lvl        Debug level
+
+EXAMPLE
+    $ printer-profile sam 315 rgb 196
+
+BUGS
+    gs 8.64 and before has problems with 32-bit machines and color profile
+    data.  Don't use!
+
+    You need two copies of Argyll: must be 1.0.3 and 1.1.0beta. Otherwise,
+    targen and colprof core dumps.
+
+SEE ALSO
+    http://www.xritephoto.com/html/colormunkisplash.htm
+	from Amazon, \$390 shipped
+    http://www.argyllcms.com/
+	free!
+EOF
+
+	exit 1
+}
+
+#
+#       Report an error and exit
+#
+error() {
+	echo "`basename $PROGNAME`: $1" >&2
+	exit 1
+}
+
+debug() {
+	if [ $DEBUG -ge $1 ]; then
+	    echo "`basename $PROGNAME`: $2" >&2
+	fi
+}
+
+#
+#	Execute a command as root
+#
+root() {
+    if [ -x /usr/bin/root ]; then
+        /usr/bin/root $@
+    else
+        su -c "$*"
+    fi
+}
+
+#
+#	trap on error
+#
+trap "exit 1" ERR
+
+#
+#       Process the options
+#
+REMPRINT=amd
+REMSCAN=mac
+REMSCAN=none
+RGB=rgb
+PATCHES=196	#Per page!
+BPP=1
+RES=
+DEBUG=0
+while getopts "b:r:P:S:D:h?" opt
+do
+	case $opt in
+	b)	BPP="$OPTARG";;
+	r)	RES="$OPTARG";;
+	P)	REMPRINT="$OPTARG";;
+	S)	REMSCAN="$OPTARG";;
+	D)	DEBUG="$OPTARG";;
+	h|\?)	usage;;
+	esac
+done
+shift `expr $OPTIND - 1`
+
+#
+#	Main Program
+#
+if [ $# -lt 2 ]; then
+    usage
+fi
+
+MANUF="$1"
+MODEL="$2"
+if [ $# -ge 3 ]; then
+    RGB="$3"
+fi
+if [ $# -ge 4 ]; then
+    PATCHES="$4"
+fi
+INK="$5"
+
+BPP_b="-b$BPP"
+RES_r=
+if [ "$RES" != "" ]; then
+    RES_r="-r$RES"
+fi
+
+case "$MANUF" in
+km)
+    MANUF=km
+    case "$MODEL" in
+    *1600*)
+	FOO=foo2lava
+	WRAPPER="foo2lava-wrapper $RES_r -z2 -c -C10 -Gnone.icm"
+	OUT="root cp xxx.prn /dev/usb/lp1"
+	;;
+    *2530*)
+	FOO=foo2lava
+	WRAPPER="foo2lava-wrapper $RES_r -z0 -c -C10 -Gnone.icm"
+	OUT="nc 192.168.1.13 9100 < xxx.prn"
+	;;
+    *2300*)
+	FOO=foo2zjs
+	WRAPPER="foo2zjs-wrapper $RES_r -c -C10 -Gnone.icm"
+	OUT="nc 192.168.1.10 9100 < xxx.prn"
+	;;
+    *)
+	usage
+	;;
+    esac
+    ;;
+sam*)
+    MANUF=sam
+    FOO=foo2qpdl
+    case "$MODEL" in
+    *300*)
+	WRAPPER="foo2qpdl-wrapper $RES_r -z0 -c -C10 -Gnone.icm"
+	OUT="nc 192.168.1.11 9100 < xxx.prn"
+	;;
+    *315*)
+	WRAPPER="foo2qpdl-wrapper $RES_r -z2 -c -C10 -Gnone.icm"
+	OUT="root cp xxx.prn /dev/usb/lp1"
+	;;
+    *)
+	usage
+	;;
+    esac
+    ;;
+hp*)
+    MANUF=hp
+    FOO=foo2hp
+    case "$MODEL" in
+    *2600*)
+	WRAPPER="foo2hp2600-wrapper $RES_r $BPP_b -z0 -c -C10 -Gnone.icm"
+	OUT="nc 192.168.1.12 9100 < xxx.prn"
+	;;
+    *cp1215*)
+	WRAPPER="foo2hp2600-wrapper $RES_r $BPP_b -z1 -c -C10 -Gnone.icm"
+	OUT="root cp xxx.prn /dev/usb/lp2"
+	;;
+    *)
+	usage
+	;;
+    esac
+    ;;
+*)
+    usage
+    ;;
+esac
+
+mrp="$MANUF-$MODEL-$RGB-$PATCHES"
+if [ "$INK" != "" ]; then
+    mrp="$mrp-ink$INK"
+fi
+if [ "$BPP" != "" ]; then
+    mrp="$mrp-bpp$BPP"
+fi
+if [ "$RES" != "" ]; then
+    mrp="$mrp-$RES"
+fi
+echo "$mrp"
+
+
+BETABIN=~/src/Argyll_V1.1.0_Beta/bin
+if [ ! -x $BETABIN/printtarg ]; then
+    error "No beta bin in $BETABIN!"
+fi
+
+targen_opts=
+case "$RGB" in
+rgb|RGB)	targen_opts="$targen_opts -d3";;
+cmyk|CMYK)	targen_opts="$targen_opts -d4";;
+*)		error "Parm2: Must be rgb or cmyk";;
+esac
+
+targen_opts="$targen_opts -f$PATCHES"
+
+if [ "$INK" != "" ]; then
+    targen_opts="$targen_opts -l$INK"
+fi
+
+echo
+echo "******************************** targen ********************************"
+echo "targen $targen_opts $mrp"
+if ! targen $targen_opts $mrp >$mrp.err1; then
+    cat $mrp.err1
+    exit 1
+fi
+
+echo
+echo "******************************* printtarg ******************************"
+echo "$BETABIN/printtarg -h -v -iCM -p Letter -R0 $mrp"
+$BETABIN/printtarg -h -v -iCM -p Letter -R0 $mrp
+
+evince $mrp.ps &
+
+echo
+echo "******************************* print it *******************************"
+echo "$WRAPPER"
+case "$REMPRINT" in
+''|none)
+    $WRAPPER <$mrp.ps >$mrp.prn
+    ;;
+*)
+    ssh $REMPRINT "$WRAPPER" <$mrp.ps >$mrp.prn
+    ;;
+esac
+ls -l $mrp.prn
+echo -n "Print it? [y|n]? "
+read yes
+case "$yes" in
+y|Y)
+    cp $mrp.prn xxx.prn
+    echo "	$OUT"
+    eval $OUT
+    rm -f xxx.prn
+esac
+
+echo
+echo "******************************* chartread ******************************"
+case "$REMSCAN" in
+''|none)
+    echo "$BETABIN/chartread $mrp"
+    $BETABIN/chartread $mrp
+    ;;
+*)
+    echo "scp $mrp.ti2 mac:"
+    scp $mrp.ti2 mac:
+    echo "$BETABIN/chartread $mrp"
+    echo  -n "Scanned on remote system $REMSCAN? [y/n]? "
+    read yes
+    case "$yes" in
+    y|Y)
+	scp $REMSCAN:$mrp.ti3 .
+	;;
+    esac
+    ;;
+esac
+
+echo
+echo "******************************** colprof *******************************"
+case $RGB in
+rgb)
+    echo "colprof -v -D\"$mrp\" -qm -cmt -dpp $mrp"
+    colprof -v -D"$mrp" -qm -cmt -dpp $mrp
+    ;;
+cymk)
+    echo "colprof -v -D\"$mrp\" -qm  -cmt -dpp -kr $mrp"
+    colprof -v -D"$mrp" -qm  -cmt -dpp -kr $mrp
+    ;;
+esac
+
+root cp $mrp.icc /usr/share/$FOO/icm/testing.icm
+echo "/usr/share/$FOO/icm/testing.icm created!"
+ls -l /usr/share/$FOO/icm/
