SHELL = /bin/sh VPATH = @srcdir@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. PACKAGE = @PACKAGE@ VERSION = @VERSION@ distdir = $(top_srcdir)/$(PACKAGE)-$(VERSION) prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ libsanedir = $(libdir)/sane infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include configdir = ${sysconfdir}/sane.d V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ DLL_PRELOAD = @DLL_PRELOAD@ DLL_PRELOAD_EXTRAS = $(foreach be,$(DLL_PRELOAD),$($(addprefix EXTRA_,$(be))))\ @DJPEG@ MKDIR = $(top_srcdir)/mkinstalldirs INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ RANLIB = @RANLIB@ LN_S = @LN_S@ CC = @CC@ INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ BACKENDLIBS = @LIBS@ @DL_LIB@ DEFS = @DEFS@ LIBTOOL = ../libtool MCOMP = --mode=compile MLINK = --mode=link MINST = --mode=install COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) $(CPPFLAGS) DISTCLEAN_FILES = @DISTCLEAN_FILES@ @SET_MAKE@ PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision bh canon \ canon630u @CANON_PP@ coolscan coolscan2 dc25 @DC210@ @DC240@ dmc \ epson fujitsu @GPHOTO2@ hp @HPSJ5S@ leo matsushita microtek microtek2 \ mustek mustek_pp mustek_usb nec @NET@ pie @PINT@ plustek \ @PNM@ @QCAM@ ricoh s9036 sceptre sharp @SM3600@ @SNAPSCAN@ \ sp15c st400 tamarack test teco1 teco3 umax umax_pp umax1220u @V4L@ ifneq (@SELECTED_BACKENDS@,) PRELOADABLE_BACKENDS = @SELECTED_BACKENDS@ endif 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... ;-( ifneq (@LIBOBJS@ @ALLOCA@,) LIBLIB_FUNCS = $(basename @LIBOBJS@ @ALLOCA@) else LIBLIB_FUNCS = endif LIBOBJS = $(addprefix ../lib/,$(addsuffix .lo,$(LIBLIB_FUNCS))) DISTFILES = abaton.c abaton.conf abaton.h agfafocus.c agfafocus.conf \ agfafocus.h apple.c apple.conf apple.h artec.c artec.conf artec.h as6e.c \ as6e.h avision.c avision.conf avision.h bh.c bh.conf bh.h canon.c \ canon.conf canon.h canon-sane.c canon-scsi.c canon630u.c canon630u-common.c \ canon630u.conf canon_pp.conf canon_pp.h canon_pp.c canon_pp-dev.c \ canon_pp-dev.h canon_pp-io.c canon_pp-io.h cderror.h cdjpeg.h coolscan.c \ coolscan.conf coolscan.h coolscan-scsidef.h coolscan2.c coolscan2.conf \ dc210.c dc210.conf dc210.h \ dc240.c dc240.conf dc240.h dc25.c dc25.conf dc25.h djpeg.c djpeg.README \ dll.aliases dll.c dll.conf dmc.c dmc.conf dmc.h epson.c epson.conf epson.h \ fujitsu.c fujitsu.conf fujitsu.h fujitsu-scsi.h \ gphoto2.c gphoto2.conf gphoto2.h hp-accessor.c hp-accessor.h hp.c hp.conf \ hp-device.c hp-device.h hp.h hp-handle.c hp-handle.h hp-hpmem.c hp-option.c \ hp-option.h hp.README hp-scl.c hp-scl.h hp-scsi.h hp.TODO \ hpsj5s.c hpsj5s.conf hpsj5s.h \ jinclude.h \ leo.c leo.h leo.conf \ lm9830.h \ Makefile.in matsushita.c \ matsushita.conf matsushita.h microtek2.c microtek2.conf microtek2.h \ microtek.c microtek.conf microtek.h mustek.c mustek.conf mustek.h \ mustek_pp.c mustek_pp.conf mustek_pp.h mustek_usb.c mustek_usb.conf \ mustek_usb.h mustek_usb_high.c mustek_usb_high.h mustek_usb_low.c \ mustek_usb_low.h mustek_usb_mid.c mustek_usb_mid.h nec.c nec.conf nec.h \ net.c net.conf net.h pie.c pie.conf pie-scsidef.h pint.c pint.h plustek.c \ plustek.conf plustek-devs.c plustek.h plustek-pp.c plustek-share.h \ plustek-usb.c plustek-usb.h plustek-usbhw.c plustek-usbimg.c \ plustek-usbio.c plustek-usbmap.c plustek-usbscan.c plustek-usbshading.c \ pnm.c qcam.c qcam.conf qcam.h ricoh.c ricoh.conf ricoh.h \ ricoh-scsi.c s9036.c s9036.conf s9036.h saned.conf sane_strstatus.c \ sceptre.c sceptre.conf sceptre.h sharp.c sharp.conf sharp.h sm3600.c \ sm3600-color.c sm3600-gray.c sm3600.h sm3600-homerun.c sm3600-scanmtek.c \ sm3600-scantool.h sm3600-scanusb.c sm3600-scanutil.c snapscan.c \ snapscan.conf snapscan.h snapscan-scsi.c snapscan-sources.c \ snapscan-sources.h snapscan-usb.c snapscan-usb.h snapscan-options.c sp15c.c \ sp15c.conf sp15c.h sp15c-scsi.h st400.c st400.conf st400.h stubs.c \ tamarack.c tamarack.conf tamarack.h teco1.c teco1.h teco1.conf \ teco3.c teco3.conf teco3.h \ test.c test.conf test.h test-picture.c umax1220u.c \ umax1220u-common.c \ umax1220u.conf umax.c umax.conf umax.h umax_pp.c umax_pp.conf umax_pp.h \ umax_pp_low.c umax_pp_low.h umax_pp_mid.c umax_pp_mid.h umax-scanner.c \ umax-scanner.h umax-scsidef.h umax-uc1200s.c umax-uc1200se.c umax-uc1260.c \ umax-uc630.c umax-uc840.c umax-ug630.c umax-ug80.c umax-usb.c v4l.c \ v4l.conf v4l-frequencies.h v4l.h .PHONY: all clean depend dist distclean install uninstall 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) $(DESTDIR)$(libdir) $(DESTDIR)$(libsanedir) $(DESTDIR)$(configdir) @list="$(LIBS)"; for be in $$list; do \ echo installing $${be} in $(libsanedir)/$${be}...; \ $(LIBTOOL) $(MINST) $(INSTALL_PROGRAM) $${be} \ $(DESTDIR)$(libsanedir)/$${be} || exit 1; \ done @$(LIBTOOL) $(MINST) --finish $(DESTDIR)$(libsanedir) @# Assume the dll name without any versions is last @dllend=`../tools/libtool-get-dll-ext libsane-dll.la`; \ list="$(ALL_BACKENDS)"; cd $(DESTDIR)$(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 $(DESTDIR)$(libdir)/libsane.a $(DESTDIR)$(libdir)/libsane.$$dllend \ $(DESTDIR)$(libdir)/libsane.$$dllend.$(V_MAJOR)*; \ $(LN_S) sane/libsane-dll.a $(DESTDIR)$(libdir)/libsane.a; \ $(LN_S) sane/libsane-dll.$$dllend $(DESTDIR)$(libdir)/libsane.$$dllend ; \ cd $(DESTDIR)$(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 \ $(DESTDIR)$(libdir)/libsane.la @list="$(CONFIGS)"; for cfg in $$list; do \ if test ! -r $(srcdir)/$${cfg}; then continue; fi; \ if test -f $(DESTDIR)$(configdir)/$${cfg}; then \ echo NOT overwriting $${cfg} in $(configdir)...; \ else \ echo installing $${cfg} in $(configdir)/$${cfg}...; \ $(INSTALL_DATA) $(srcdir)/$${cfg} $(DESTDIR)$(configdir)/$${cfg} \ || exit 1; \ fi; \ done uninstall: rm -rf $(libsanedir) $(configdir) rm -f $(libdir)/libsane.* 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_canon_pp = canon_pp-io canon_pp-dev EXTRA_hp = hp-accessor hp-device hp-handle hp-hpmem hp-option hp-scl EXTRA_umax_pp = umax_pp_low umax_pp_mid # EXTRA_dc210 = djpeg # EXTRA_dc240 = 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-bh.la: ../sanei/sanei_config2.lo libsane-bh.la: ../sanei/sanei_constrain_value.lo libsane-bh.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-canon630u.la: ../sanei/sanei_constrain_value.lo libsane-canon630u.la: ../sanei/sanei_usb.lo libsane-canon_pp.la: ../sanei/sanei_config2.lo libsane-canon_pp.la: $(addsuffix .lo,$(EXTRA_canon_pp)) libsane-coolscan.la: ../sanei/sanei_config2.lo libsane-coolscan.la: ../sanei/sanei_constrain_value.lo libsane-coolscan.la: ../sanei/sanei_scsi.lo libsane-coolscan2.la: ../sanei/sanei_config2.lo libsane-coolscan2.la: ../sanei/sanei_constrain_value.lo libsane-coolscan2.la: ../sanei/sanei_scsi.lo libsane-coolscan2.la: ../sanei/sanei_usb.lo libsane-dc25.la: ../sanei/sanei_constrain_value.lo libsane-dc210.la: ../sanei/sanei_constrain_value.lo djpeg.lo libsane-dc240.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-fujitsu.la: ../sanei/sanei_config2.lo libsane-fujitsu.la: ../sanei/sanei_constrain_value.lo libsane-fujitsu.la: ../sanei/sanei_scsi.lo libsane-gphoto2.la: ../sanei/sanei_constrain_value.lo djpeg.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-leo.la: ../sanei/sanei_config2.lo libsane-leo.la: ../sanei/sanei_constrain_value.lo libsane-leo.la: ../sanei/sanei_scsi.lo libsane-matsushita.la: ../sanei/sanei_config2.lo libsane-matsushita.la: ../sanei/sanei_constrain_value.lo libsane-matsushita.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-mustek_usb.la: ../sanei/sanei_constrain_value.lo libsane-mustek_usb.la: ../sanei/sanei_usb.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-plustek.la: ../sanei/sanei_usb.lo libsane-plustek.la: ../sanei/sanei_lm983x.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-sceptre.la: ../sanei/sanei_constrain_value.lo libsane-sceptre.la: ../sanei/sanei_config2.lo libsane-sceptre.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-sm3600.la: ../sanei/sanei_constrain_value.lo libsane-snapscan.la: ../sanei/sanei_config2.lo libsane-snapscan.la: ../sanei/sanei_constrain_value.lo libsane-snapscan.la: ../sanei/sanei_scsi.lo libsane-snapscan.la: ../sanei/sanei_usb.lo libsane-sp15c.la: ../sanei/sanei_config2.lo libsane-sp15c.la: ../sanei/sanei_constrain_value.lo libsane-sp15c.la: ../sanei/sanei_scsi.lo libsane-st400.la: ../sanei/sanei_config2.lo libsane-st400.la: ../sanei/sanei_constrain_value.lo libsane-st400.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-test.la: ../sanei/sanei_constrain_value.lo libsane-teco1.la: ../sanei/sanei_config2.lo libsane-teco1.la: ../sanei/sanei_constrain_value.lo libsane-teco1.la: ../sanei/sanei_scsi.lo libsane-teco3.la: ../sanei/sanei_config2.lo libsane-teco3.la: ../sanei/sanei_constrain_value.lo libsane-teco3.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-umax.la: ../sanei/sanei_usb.lo libsane-umax.la: ../sanei/sanei_pv8630.lo libsane-v4l.la: ../sanei/sanei_constrain_value.lo libsane-umax_pp.la: $(addsuffix .lo,$(EXTRA_umax_pp)) libsane-umax_pp.la: ../sanei/sanei_constrain_value.lo libsane-umax1220u.la: ../sanei/sanei_constrain_value.lo libsane-umax1220u.la: ../sanei/sanei_usb.lo libsane-umax1220u.la: ../sanei/sanei_pv8630.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 libsane-dll.la libsane.la: ../sanei/sanei_usb.lo libsane-dll.la libsane.la: ../sanei/sanei_pv8630.lo libsane-dll.la libsane.la: ../sanei/sanei_lm983x.lo endif depend: makedepend $(INCLUDES) *.c clean: rm -f *.lo *.o *.la libsane.la dll-preload.c find . -type l -name \*-s.c | xargs rm -f rm -rf .libs distclean: clean rm -f $(DISTCLEAN_FILES) rm -f Makefile libsane.so dist: $(DISTFILES) for file in $(DISTFILES); do \ ln $$file $(distdir)/backend 2> /dev/null \ || cp -p $$file $(distdir)/backend ; \ done