# $Id: Makefile,v 1.16 2002/07/24 09:25:20 bertrik Exp $

#SANE_BACKEND_SRC=/usr/local/src/sane-backends-1.0.11
SANE_BACKEND_SRC=/home/kleptog/debian/sane-backends-1.0.10
#SANE_LIBS_DIR =/usr/local/lib/sane
SANE_LIBS_DIR=/usr/lib/sane

# Compiler and compiler flags
CC		= gcc
CFLAGS		= -Wall -O2 -g -DV_MAJOR=1 -DV_MINOR=0 -fPIC -I$(SANE_BACKEND_SRC)/include
LDFLAGS		= -lm


# Other utilities
RM 		= rm -f

# Package definitions
PKG_NAME	= hp5400
DATE		= $$(date +%Y%m%d)
EXEC		= $(PKG_NAME)

LIBTARGET = sane-hp5400.so
SANE_PKG_LIB =libsane-$(PKG_NAME).so.1

OBJECTS	= hp5400_scanner.o hp5400.o

all: $(EXEC) $(LIBTARGET)

all_root: all install

$(EXEC): $(OBJECTS)
	$(CC) $(LDFLAGS) -o $(EXEC) $(OBJECTS)

hp5400.o: hp5400.c
	$(CC) $(CFLAGS) -c -DSTANDALONE -o $@ $<

hp5400_scanner.o: hp5400_scanner.c
	$(CC) $(CFLAGS) -c -DSTANDALONE -o $@ $<

$(LIBTARGET): sane-hp5400.o
	$(CC) $(LDFLAGS) -shared -fPIC -o $(LIBTARGET) $<
.PHONY: clean

dist: clean
	cd .. && tar --exclude={CVS,cvs} -czvf $(PKG_NAME)-$(DATE).tar.gz $(PKG_NAME)

# Cleans object files, executable and emacs backup archives
clean:
	$(RM) *.o $(EXEC) *~ core *.dat $(LIBTARGET)


hp5400.o: hp5400.c hp5400.h hp5400_xfer.h
hp5400_scanner.o: hp5400_scanner.c hp5400_xfer.h
sane-hp5400.o: sane-hp5400.c hp5400.h hp5400_xfer.h hp5400.c hp5400_scanner.c

install: $(LIBTARGET)
	rm -f $(SANE_LIBS_DIR)/$(SANE_PKG_LIB)
	ln -s `pwd`/$(LIBTARGET) $(SANE_LIBS_DIR)/$(SANE_PKG_LIB)

debug_xsane:
	SANE_DEBUG_HP5400=255 xsane 2> xsane.log

