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 \ coolscan dc25 @DC210@ @DC240@ dmc epson @GPHOTO2@ hp m3096g \ microtek microtek2 mustek mustek_pp mustek_usb nec @NET@ pie @PINT@ \ plustek @PNM@ @QCAM@ ricoh s9036 sceptre sharp @SM3600@ @SNAPSCAN@ sp15c \ st400 tamarack umax umax_pp umax1220u @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 = $(basename @LIBOBJS@ @ALLOCA@) LIBOBJS = $(addprefix ../lib/,$(addsuffix .lo,$(LIBLIB_FUNCS))) DISTFILES = Makefile.in abaton.c abaton.conf abaton.desc abaton.h \ agfafocus.c agfafocus.conf agfafocus.desc agfafocus.h apple.c \ apple.conf apple.desc apple.h artec.c artec.conf artec.desc artec.h \ as6e.c as6e.desc as6e.h avision.c avision.conf avision.desc \ avision.h bh.c bh.conf bh.desc bh.h canon-sane.c canon-scsi.c \ canon.c canon.conf canon.desc canon.h canon_pp.desc cderror.h \ cdjpeg.h coolscan-scsidef.h coolscan.c coolscan.conf coolscan.desc \ coolscan2.desc \ coolscan.h dc210.c dc210.conf dc210.desc dc210.h dc240.c dc240.conf \ dc240.desc dc240.h dc25.c dc25.conf dc25.desc dc25.h djpeg.README \ djpeg.c dll.aliases dll.c dll.conf dll.desc dmc.c dmc.conf dmc.desc \ dmc.h epson.c epson.conf epson.desc epson.h gphoto2.c gphoto2.conf \ gphoto2.desc gphoto2.h hp-accessor.c hp-accessor.h hp-device.c \ hp-device.h hp-handle.c hp-handle.h hp-hpmem.c hp-option.c \ hp-option.h hp-scl.c hp-scl.h hp-scsi.h hp.README hp.TODO hp.c \ hp.conf hp.desc hp.h hp4200.desc ibm.desc jinclude.h lhii.desc \ m3091.desc m3096g-scsi.h m3096g.c m3096g.conf m3096g.desc m3096g.h \ microtek.c microtek.conf microtek.desc microtek.h microtek2.c \ microtek2.conf microtek2.desc microtek2.h mustek.c mustek.conf \ mustek.desc mustek.h mustek_pp.c mustek_pp.conf mustek_pp.desc \ mustek_pp.h mustek_usb.c mustek_usb.conf mustek_usb.desc \ 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.desc nec.h net.c net.conf net.desc net.h niash.desc pie-scsidef.h pie.c \ pie.conf pie.desc pint.c pint.desc pint.h plustek-devs.c \ 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 plustek.c plustek.conf \ plustek.desc plustek.h pnm.c pnm.c-bad pnm.desc qcam.c qcam.conf \ qcam.desc qcam.h ricoh-scsi.c ricoh.c ricoh.conf ricoh.desc ricoh.h \ s9036.c s9036.conf s9036.desc s9036.h sane_strstatus.c saned.conf \ sceptre.desc sceptre.c sceptre.h sceptre.conf \ sharp.c sharp.conf sharp.desc sharp.h sm3600-color.c sm3600-gray.c \ sm3600-homerun.c sm3600-scanmtek.c sm3600-scantool.h \ sm3600-scanusb.c sm3600-scanutil.c sm3600.c sm3600.desc sm3600.h \ snapscan-scsi.c snapscan-sources.c snapscan-sources.h snapscan-usb.c \ snapscan-usb.h snapscan-utils.c snapscan.c snapscan.conf \ snapscan.desc snapscan.h sp15c-scsi.h sp15c.c sp15c.conf sp15c.desc \ sp15c.h st400.c st400.conf st400.desc st400.h stubs.c tamarack.c \ tamarack.conf tamarack.desc tamarack.h template.desc. 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.c umax.conf umax.desc umax.h umax1220u-common.c umax1220u.c \ umax1220u.conf umax1220u.desc umax_pp.c umax_pp.conf umax_pp.desc \ umax_pp.h umax_pp_low.c umax_pp_low.h umax_pp_mid.c umax_pp_mid.h \ v4l-frequencies.h v4l-grab.h v4l.c v4l.conf v4l.desc v4l.h v4l2.desc .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) $(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 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_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-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-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-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-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-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-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 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