# This Makefile is here, because I am to lazy to type 
# all parameters again and again.....

# Author: Jens Apel
# Purpose: Creates a printer driver packages for Lexmark Printers, 
# that can be load to Samba.
# Prerequsites:
# - Samba 2.2.0 or higher
# - imprints 0.0.9b or higher from 
#   imprints.sorceforge.net

# Settings section start
# Where did you install imprints
IMPRINTS_BASE = /opt/imprints

# The perl skript doing all work for creating the package
MK_PRINT_PKG  = $(IMPRINTS_BASE)/bin/mkprintpkg.pl

# The perl script that installs a printer package
INSTALL_PRINTER_DRIVER = $(IMPRINTS_BASE)/scripts/install_printer_drivers.pl

# Where are we
CURRENT_DIR = `pwd`

# Where are all the drivers, win dlls and other stuff ?
ARCHIVE_DIR = $(CURRENT_DIR)/win_driver/ALL_IN1/

# This works not, since unzip (Linux) can not unzip it
# because it is not a self extracting .exe 
# ARCHIVE_DIR = $(CURRENT_DIR)/win_driver/optra1855s.exe
# So you have to unzip it on Windows starting it...;-)

# on which Samba Server do you want to install the package ?
SAMBA_HOST = intra1

# Whats the user/password combination ?
# currently the user has to be root
SAMBA_USER = "root%secret"


# Settings section end
help:
	@echo "Possible targets are:"
	@echo "prepare - copys all files in _ONE_ directory"
	@echo "package - creates the packages"
	@echo "install - installs the package on the Samba Server"

# First put all windows driver files into one directory
# only that way imprints can work
prepare:
	rm -rf $(ARCHIVE_DIR)
	mkdir $(ARCHIVE_DIR)
	find $(CURRENT_DIR)/win_driver/win32drv -name "*.*" \
	-exec cp {} $(ARCHIVE_DIR) \; 

# build the package 
# Because of the deflating all files, this can last up to 10 minutes
package: package_1855

package_1650:
	@echo "###########################################################"
	@echo "# Building the package for Lexmark 1650 S for Win NT/2000 #"
	@echo "###########################################################"
	$(MK_PRINT_PKG) --name="optra1650S_NT" --version="1.0" \
	--display "Lexmark Optra S 1650 PS2" $(ARCHIVE_DIR) \
	--inf-fname "lexpsnt.inf" --model "Lexmark Optra S 1625 PS2" --debug

package_1855:
	@echo "###########################################################"
	@echo "# Building the package for Lexmark 1855 S for Win NT/2000 #"
	@echo "###########################################################"
	$(MK_PRINT_PKG) --name="optra1855S_NT" --version="1.0" \
	--display "Lexmark Optra S 1855 PS2" $(ARCHIVE_DIR) \
	--inf-fname "lexpsnt.inf" --model "Lexmark Optra S 1855 PS2" --debug

install: install_1855

install_1855:
	@echo "Installing the package for optra 1855 S (NT only)"
	$(INSTALL_PRINTER_DRIVER) --verbose \
	--cache-dir=$(CURRENT_DIR) --local-pkg=optra1855S_NT-1.0.tar.gz \
	'Lexmark Optra S 1855 PS2' 

install_1650:
	@echo "Installing the package for optra 1650 S (NT)"
	$(INSTALL_PRINTER_DRIVER) --verbose \
	--cache-dir=$(CURRENT_DIR) --local-pkg=optra1650S_NT-1.0.tar.gz \
	'Lexmark Optra S 1650 PS2' 

install_check:
	@echo "Call rpcclient and look what printers are installed"
	rpcclient $(SAMBA_HOST)  -U $(SAMBA_USER) -c "enumports 2" 
	rpcclient $(SAMBA_HOST)  -U $(SAMBA_USER) -c "enumprinters 2" 

	rpcclient $(SAMBA_HOST)  -U $(SAMBA_USER) -c "getprinter pr01"
	rpcclient $(SAMBA_HOST)  -U $(SAMBA_USER) -c "getprinter pr02"
	rpcclient $(SAMBA_HOST)  -U $(SAMBA_USER) -c "getprinter pr03"

	rpcclient $(SAMBA_HOST) -U $(SAMBA_USER) -c "getdriver pr01"
	rpcclient $(SAMBA_HOST) -U $(SAMBA_USER) -c "getdriver pr02"
	rpcclient $(SAMBA_HOST) -U $(SAMBA_USER) -c "getdriver pr03"

clean:
	@echo "Cleaning up"
	rm optra*.tar.gz

