# Generated automatically from Makefile.in by configure.
SHELL = /bin/sh

srcdir = .
top_srcdir = ..
top_builddir = ..

prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
libexecdir = ${exec_prefix}/libexec
datadir = ${prefix}/share
sysconfdir = ${prefix}/etc
sharedstatedir = ${prefix}/com
localstatedir = ${prefix}/var
libdir = ${exec_prefix}/lib
libsanedir = $(libdir)/sane
infodir = ${prefix}/info
mandir = ${prefix}/man
includedir = ${prefix}/include
oldincludedir = /usr/include
configdir = ${sysconfdir}/sane.d

V_MAJOR = 1
V_MINOR = 0
V_REV = 4
DLL_PRELOAD = 
DLL_PRELOAD_EXTRAS = $(foreach be,$(DLL_PRELOAD),$($(addprefix EXTRA_,$(be))))

MKDIR = $(top_srcdir)/mkinstalldirs
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
RANLIB = ranlib
LN_S = ln -s

CC = gcc
INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
CPPFLAGS =  -D_GNU_SOURCE -DPATH_SANE_CONFIG_DIR=$(configdir) 	  -DPATH_SANE_DATA_DIR=$(datadir) 	  -DV_MAJOR=1 -DV_MINOR=0
CFLAGS = -g -O2 -W -Wall -DHAVE_DEV_URANDOM -DSCSIBUFFERSIZE=131072
LDFLAGS = 
BACKENDLIBS = -lnsl -lm  -ljpeg -ldl
DEFS = -DHAVE_CONFIG_H

LIBTOOL = ../libtool
MCOMP	= --mode=compile
MLINK	= --mode=link
MINST	= --mode=install

COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) $(CPPFLAGS)



PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision canon \
        coolscan dc25 dc210 dmc epson hp m3096g microtek microtek2 mustek \
        mustek_pp nec net pie  plustek pnm qcam ricoh s9036 sharp \
        snapscan sp15c st400 tamarack umax v4l
ALL_BACKENDS = $(PRELOADABLE_BACKENDS) dll

LIBS = $(addprefix libsane-,$(addsuffix .la,$(ALL_BACKENDS)))
CONFIGS = $(addsuffix .conf,$(ALL_BACKENDS)) saned.conf

EXTRA = sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo

# With libtool-1.0, we have to mention each library object explicitly... ;-(
LIBLIB_FUNCS = alloca getenv getopt getopt1 isfdtype sigprocmask snprintf \
        strdup strndup strsep usleep vsyslog
LIBOBJS = $(addprefix ../lib/,$(addsuffix .lo,$(LIBLIB_FUNCS)))

libsane-%.la: %.lo %-s.lo $(EXTRA) $(LIBOBJS)
	@$(LIBTOOL) $(MLINK) $(CC) -export-dynamic -o $@ $($*_LIBS) \
	$(LDFLAGS) $(BACKENDLIBS) $^ -rpath $(libsanedir) \
	-version-info $(V_MAJOR):$(V_REV):$(V_MINOR)

%-s.lo:	%-s.c
	@$(LIBTOOL) $(MCOMP) $(COMPILE) -DSTUBS -DBACKEND_NAME=$* $<

%.lo:	%.c
	@$(LIBTOOL) $(MCOMP) $(COMPILE) -DBACKEND_NAME=$* \
		-DLIBDIR=$(libsanedir) $<

%-s.c:	$(srcdir)/stubs.c
	rm -f $@
	$(LN_S) $(srcdir)/stubs.c $@

# Don't delete any intermediate files.
.PRECIOUS: %-s.c %-s.lo %.lo dll-preload.c

all:	$(LIBS) libsane.la

install:
	$(MKDIR) $(libdir) $(libsanedir) $(configdir)
	@list="$(LIBS)"; for be in $$list; do \
	  echo installing $${be} in $(libsanedir)...; \
	  $(LIBTOOL) $(MINST) $(INSTALL_PROGRAM) $${be} $(libsanedir)/$${be} \
	    || exit 1; \
	done
	@$(LIBTOOL) $(MINST) --finish $(libsanedir)
	@# Assume the dll name without any versions is last
	@dllend=`../tools/libtool-get-dll-ext libsane-dll.la`; \
	list="$(ALL_BACKENDS)"; cd $(libsanedir) && for be in $$list; do \
	  file=libsane-$${be}.$$dllend.$(V_MAJOR); \
	  lib=`grep dlname= libsane-$${be}.la | cut -f2 -d"'"`; \
	  if test ! -f $${file} -a -n "$${lib}"; then \
	    $(LN_S) $${lib} $${file}; \
	  fi; \
	done
	@# Assume the dll name without any versions is last
	@dllend=`../tools/libtool-get-dll-ext libsane-dll.la`; \
	rm -f $(libdir)/libsane.a $(libdir)/libsane.$$dllend \
		$(libdir)/libsane.$$dllend.$(V_MAJOR)*; \
	$(LN_S) sane/libsane-dll.a $(libdir)/libsane.a; \
	$(LN_S) sane/libsane-dll.$$dllend $(libdir)/libsane.$$dllend ; \
	cd $(libsanedir) && for n in libsane-dll.$$dllend.$(V_MAJOR)*; do \
	  nn=`echo $$n | sed 's,^libsane-dll,libsane,'`; \
	  (cd ..; $(LN_S) sane/$$n $$nn); \
	done || exit 1
	$(LIBTOOL) $(MINST) $(INSTALL_PROGRAM) libsane.la $(libdir)/libsane.la
	@list="$(CONFIGS)"; for cfg in $$list; do \
	  if test ! -r $(srcdir)/$${cfg}; then continue; fi; \
	  if test -f $(configdir)/$${cfg}; then \
	    echo NOT overwriting $${cfg} in $(configdir)...; \
	  else \
	    echo installing $${cfg} in $(configdir)...; \
	    $(INSTALL_DATA) $(srcdir)/$${cfg} $(configdir)/$${cfg} || exit 1; \
	  fi; \
	done

dll.lo: dll-preload.c

dll-preload.c:
	rm -f $@
	list="$(DLL_PRELOAD)"; for be in $$list; do \
	  echo "PRELOAD_DECL($$be)" >> $@; \
	done
	echo "static struct backend preloaded_backends[] = {" >> $@
	sep=""; \
	list="$(DLL_PRELOAD)"; \
	if test -z "$${list}"; then \
	  echo { 0 } >> $@; \
	else \
	  for be in $$list; do \
	    echo "$${sep}PRELOAD_DEFN($$be)" >> $@; \
	    sep=","; \
	  done; \
	fi
	echo "};" >> $@

libsane.la: dll.lo dll-s.lo $(EXTRA) $(addsuffix .lo,$(DLL_PRELOAD)) $(LIBOBJS)
	@$(LIBTOOL) $(MLINK) $(CC) -o $@ $(LDFLAGS) $(BACKENDLIBS)  $^ \
		$(addsuffix .lo,$(DLL_PRELOAD_EXTRAS)) \
		-rpath $(libdir) -version-info $(V_MAJOR):$(V_REV):$(V_MINOR)

# additional dependencies

EXTRA_hp = hp-accessor hp-device hp-handle hp-hpmem hp-option hp-scl
EXTRA_dc210 = djpeg

# When preloading dll, we need to add in all preloaded objects:
libsane-dll.la: $(addsuffix .lo,$(DLL_PRELOAD))
libsane-dll.la: $(addsuffix .lo,$(DLL_PRELOAD_EXTRAS))

# We must not build SANE backend libraries that contain unresolved references
# to any of the sanei routines.  These explicit dependencies take care of
# this:

libsane-abaton.la: ../sanei/sanei_config2.lo
libsane-abaton.la: ../sanei/sanei_constrain_value.lo
libsane-abaton.la: ../sanei/sanei_scsi.lo
libsane-agfafocus.la: ../sanei/sanei_config2.lo
libsane-agfafocus.la: ../sanei/sanei_constrain_value.lo
libsane-agfafocus.la: ../sanei/sanei_scsi.lo
libsane-apple.la: ../sanei/sanei_config2.lo
libsane-apple.la: ../sanei/sanei_constrain_value.lo
libsane-apple.la: ../sanei/sanei_scsi.lo
libsane-artec.la: ../sanei/sanei_config2.lo
libsane-artec.la: ../sanei/sanei_constrain_value.lo
libsane-artec.la: ../sanei/sanei_scsi.lo
libsane-as6e.la: ../sanei/sanei_config2.lo
libsane-as6e.la: ../sanei/sanei_constrain_value.lo
libsane-avision.la: ../sanei/sanei_config2.lo
libsane-avision.la: ../sanei/sanei_constrain_value.lo
libsane-avision.la: ../sanei/sanei_scsi.lo
libsane-canon.la: ../sanei/sanei_config2.lo
libsane-canon.la: ../sanei/sanei_constrain_value.lo
libsane-canon.la: ../sanei/sanei_scsi.lo
libsane-coolscan.la: ../sanei/sanei_config2.lo
libsane-coolscan.la: ../sanei/sanei_constrain_value.lo
libsane-coolscan.la: ../sanei/sanei_scsi.lo
libsane-dc25.la: ../sanei/sanei_constrain_value.lo
libsane-dc210.la: ../sanei/sanei_constrain_value.lo djpeg.lo
libsane-dmc.la: ../sanei/sanei_config2.lo
libsane-dmc.la: ../sanei/sanei_constrain_value.lo
libsane-dmc.la: ../sanei/sanei_scsi.lo
libsane-epson.la: ../sanei/sanei_config2.lo
libsane-epson.la: ../sanei/sanei_constrain_value.lo
libsane-epson.la: ../sanei/sanei_scsi.lo
libsane-epson.la: ../sanei/sanei_pio.lo
libsane-hp.la: ../sanei/sanei_config2.lo
libsane-hp.la: ../sanei/sanei_constrain_value.lo
libsane-hp.la: ../sanei/sanei_scsi.lo
libsane-hp.la: $(addsuffix .lo,$(EXTRA_hp))
libsane-hp.la: ../sanei/sanei_pio.lo
libsane-m3096g.la: ../sanei/sanei_config2.lo
libsane-m3096g.la: ../sanei/sanei_constrain_value.lo
libsane-m3096g.la: ../sanei/sanei_scsi.lo
libsane-microtek.la: ../sanei/sanei_config2.lo
libsane-microtek.la: ../sanei/sanei_constrain_value.lo
libsane-microtek.la: ../sanei/sanei_scsi.lo
libsane-microtek2.la: ../sanei/sanei_config2.lo
libsane-microtek2.la: ../sanei/sanei_constrain_value.lo
libsane-microtek2.la: ../sanei/sanei_scsi.lo
libsane-mustek.la: ../sanei/sanei_config2.lo
libsane-mustek.la: ../sanei/sanei_constrain_value.lo
libsane-mustek.la: ../sanei/sanei_scsi.lo
libsane-mustek.la: ../sanei/sanei_ab306.lo
libsane-mustek_pp.la: ../sanei/sanei_constrain_value.lo
libsane-mustek_pp.la: ../sanei/sanei_config2.lo
libsane-mustek_pp.la: ../sanei/sanei_pa4s2.lo
libsane-nec.la: ../sanei/sanei_config2.lo
libsane-nec.la: ../sanei/sanei_constrain_value.lo
libsane-nec.la: ../sanei/sanei_scsi.lo
libsane-net.la: ../sanei/sanei_codec_bin.lo
libsane-net.la: ../sanei/sanei_net.lo
libsane-net.la: ../sanei/sanei_wire.lo
libsane-pint.la: ../sanei/sanei_constrain_value.lo
libsane-plustek.la: ../sanei/sanei_config2.lo
libsane-plustek.la: ../sanei/sanei_constrain_value.lo
libsane-pnm.la: ../sanei/sanei_constrain_value.lo
libsane-qcam.la: ../sanei/sanei_constrain_value.lo
libsane-ricoh.la: ../sanei/sanei_config2.lo
libsane-ricoh.la: ../sanei/sanei_constrain_value.lo
libsane-ricoh.la: ../sanei/sanei_scsi.lo
libsane-s9036.la: ../sanei/sanei_config2.lo
libsane-s9036.la: ../sanei/sanei_constrain_value.lo
libsane-s9036.la: ../sanei/sanei_scsi.lo
libsane-pie.la: ../sanei/sanei_config2.lo
libsane-pie.la: ../sanei/sanei_constrain_value.lo
libsane-pie.la: ../sanei/sanei_scsi.lo
libsane-sharp.la: ../sanei/sanei_config2.lo
libsane-sharp.la: ../sanei/sanei_constrain_value.lo
libsane-sharp.la: ../sanei/sanei_scsi.lo
libsane-snapscan.la: ../sanei/sanei_config2.lo
libsane-snapscan.la: ../sanei/sanei_constrain_value.lo
libsane-snapscan.la: ../sanei/sanei_scsi.lo
libsane-sp15c.la: ../sanei/sanei_config2.lo
libsane-sp15c.la: ../sanei/sanei_constrain_value.lo
libsane-sp15c.la: ../sanei/sanei_scsi.lo
libsane-st400c.la: ../sanei/sanei_config2.lo
libsane-st400c.la: ../sanei/sanei_constrain_value.lo
libsane-st400c.la: ../sanei/sanei_scsi.lo
libsane-tamarack.la: ../sanei/sanei_config2.lo
libsane-tamarack.la: ../sanei/sanei_constrain_value.lo
libsane-tamarack.la: ../sanei/sanei_scsi.lo
libsane-umax.la: ../sanei/sanei_config2.lo
libsane-umax.la: ../sanei/sanei_constrain_value.lo
libsane-umax.la: ../sanei/sanei_scsi.lo
libsane-v4l.la: ../sanei/sanei_constrain_value.lo

ifneq ($(DLL_PRELOAD),)
# need to make dll dependent on all sanei files:
libsane-dll.la libsane.la: ../sanei/sanei_config.lo
libsane-dll.la libsane.la: ../sanei/sanei_config2.lo
libsane-dll.la libsane.la: ../sanei/sanei_codec_bin.lo
libsane-dll.la libsane.la: ../sanei/sanei_constrain_value.lo
libsane-dll.la libsane.la: ../sanei/sanei_net.lo
libsane-dll.la libsane.la: ../sanei/sanei_scsi.lo
libsane-dll.la libsane.la: ../sanei/sanei_wire.lo
libsane-dll.la libsane.la: ../sanei/sanei_ab306.lo
libsane-dll.la libsane.la: ../sanei/sanei_pio.lo
libsane-dll.la libsane.la: ../sanei/sanei_pa4s2.lo
endif

depend:
	makedepend $(INCLUDES) *.c

clean:
	rm -f *.lo *.o *~ *.la libsane.la *.bak dll-preload.c
	find . -type l -name \*-s.c | xargs rm -f
	rm -rf .libs

distclean: clean
	rm -f Makefile libsane.so

.PHONY: all install depend clean distclean
