## Makefile.am -- an automake template for Makefile.in file ## Copyright (C) 2009 Chris Bagwell and Sane Developers. ## ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. man1_MANS = scanimage.1 sane-config.1 sane-find-scanner.1 gamma4scanimage.1 EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \ gamma4scanimage.man # Create a list of man pages for only backends that are compiled in so # that is all that gets installed. Also, build a complete list of all # backend man pages. This allows a user to optionally generate all # man pages in HTML form for things like posting to a web site. # # Backend man pages bypass standard automake man5_MANS because there is not # a man page for every supported backend. We could get rid of # custom install/uninstall if we required man pages for every backend. BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \ sane-escl.5 sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ sane-matsushita.5 sane-microtek.5 sane-microtek2.5 sane-mustek.5 \ sane-nec.5 sane-net.5 sane-pie.5 sane-pieusb.5 sane-pint.5 sane-pnm.5 \ sane-umax.5 sane-qcam.5 sane-scsi.5 sane-artec.5 sane-kodak.5 sane-kodakaio.5 \ sane-fujitsu.5 sane-sharp.5 sane-s9036.5 sane-tamarack.5 \ sane-ricoh.5 sane-ricoh2.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ sane-teco1.5 sane-teco2.5 sane-teco3.5 sane-test.5 sane-sp15c.5 \ sane-coolscan2.5 sane-hpsj5s.5 sane-gt68xx.5 sane-artec_eplus48u.5 \ sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5 sane-u12.5 \ sane-niash.5 sane-sm3840.5 sane-genesys.5 sane-hp4200.5 \ sane-mustek_usb2.5 sane-hp3500.5 sane-pixma.5 sane-stv680.5 \ sane-hp5590.5 sane-hpljm1005.5 sane-cardscan.5 sane-hp3900.5 \ sane-epjitsu.5 sane-hs2p.5 sane-canon_dr.5 sane-xerox_mfp.5 \ sane-rts8891.5 sane-coolscan3.5 sane-kvs1025.5 sane-kvs20xx.5 \ sane-kvs40xx.5 sane-p5.5 sane-magicolor.5 EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \ sane-dll.man sane-dc25.man sane-dmc.man sane-epson.man \ sane-epson2.man sane-epsonds.man sane-escl.man sane-hp.man sane-gphoto2.man \ sane-leo.man sane-lexmark.man sane-matsushita.man sane-microtek.man \ sane-microtek2.man sane-mustek.man sane-nec.man sane-net.man \ sane-pie.man sane-pieusb.man sane-pint.man sane-pnm.man sane-umax.man \ sane-qcam.man sane-scsi.man sane-artec.man sane-fujitsu.man \ sane-sharp.man sane-s9036.man sane-tamarack.man sane-kodak.man sane-kodakaio.man\ sane-ricoh.man sane-ricoh2.man sane-avision.man sane-plustek.man sane-st400.man \ sane-mustek_pp.man sane-dc210.man sane-v4l.man sane-snapscan.man \ sane-canon.man sane-coolscan.man sane-bh.man sane-dc240.man \ sane-umax_pp.man sane-umax1220u.man sane-sm3600.man sane-usb.man \ sane-mustek_usb.man sane-sceptre.man sane-canon_pp.man \ sane-canon630u.man sane-teco1.man sane-teco2.man \ sane-teco3.man sane-test.man sane-sp15c.man sane-coolscan2.man \ sane-hpsj5s.man sane-gt68xx.man sane-artec_eplus48u.man \ sane-ma1509.man sane-ibm.man sane-hp5400.man sane-plustek_pp.man \ sane-u12.man sane-niash.man sane-sm3840.man sane-genesys.man \ sane-hp4200.man sane-mustek_usb2.man sane-hp3500.man \ sane-pixma.man sane-stv680.man sane-hp5590.man sane-hpljm1005.man \ sane-cardscan.man sane-hp3900.man sane-epjitsu.man sane-hs2p.man \ sane-canon_dr.man sane-xerox_mfp.man sane-rts8891.man \ sane-coolscan3.man sane-kvs1025.man sane-kvs20xx.man sane-kvs40xx.man \ sane-p5.man sane-magicolor.man man7_MANS = sane.7 EXTRA_DIST += sane.man man8_MANS = saned.8 EXTRA_DIST += saned.man MANPAGES = $(man1_MANS) $(BACKEND_5MANS) $(man7_MANS) $(man8_MANS) if CROSS_COMPILING HTML_PAGES = else HTML_PAGES = sane-backends.html sane-backends-external.html \ sane-mfgs.html sane-mfgs-external.html endif doc_DATA = $(HTML_PAGES) all: bemans $(API_SPECS) html-pages dist_doc_DATA = backend-writing.txt nobase_dist_doc_DATA = $(BEDOCS) doc_DATA += $(API_SPECS) EXTRA_DIST += descriptions.txt releases.txt sane-logo2.jpg sane-logo.png \ sane.png MAN2HTML = nroff -c -man |\ man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ -cgiurl '$$title.$$section.html'|\ sed 's,
,,' %.1 %.5 %.7 %.8: %.man @echo "Generating manpage $@..."; @sed -e 's|@DATADIR@|$(datadir)|g' \ -e 's|@CONFIGDIR@|$(configdir)|g' \ -e 's|@DOCDIR@|$(docdir)|g' \ -e 's|@LIBDIR@|$(libdir)/sane|g' \ -e 's|@BINDIR@|$(bindir)|g' \ -e 's|@SBINDIR@|$(sbindir)|g' \ -e 's|@PACKAGEVERSION@|$(package_version)|g' $^ >$@ bemans: $(BACKEND_5MANS) beman5dir = $(mandir)/man5 install-beman5: $(BACKEND_5MANS) test -z "$(beman5dir)" || $(MKDIR_P) "$(DESTDIR)$(beman5dir)" @list="$(BACKEND_MANS_ENABLED) sane-dll.5 sane-scsi.5 sane-usb.5"; for man in $$list; do \ if test ! -r $${man}; then continue; fi; \ echo "installing $${man} in $(beman5dir)/$${man}..."; \ $(INSTALL_DATA) $${man} $(DESTDIR)$(beman5dir)/$${man} \ || exit 1; \ done BEDOCS = canon/canon.changes canon/canon.install2700F.txt BEDOCS += gt68xx/gt68xx.CHANGES gt68xx/gt68xx.TODO BEDOCS += leo/leo.txt BEDOCS += matsushita/matsushita.txt BEDOCS += mustek/mustek.CHANGES BEDOCS += mustek_usb/mustek_usb.CHANGES mustek_usb/mustek_usb.TODO BEDOCS += mustek_usb2/mustek_usb2.CHANGES mustek_usb2/mustek_usb2.TODO BEDOCS += niash/niash.TODO BEDOCS += plustek/FAQ plustek/MakeModule.sh plustek/Makefile.kernel24 \ plustek/Makefile.kernel26 plustek/Plustek-PARPORT-TODO.txt \ plustek/Plustek-PARPORT.changes plustek/Plustek-PARPORT.txt \ plustek/Plustek-USB-TODO.txt plustek/Plustek-USB.changes \ plustek/Plustek-USB.txt BEDOCS += sceptre/s1200.txt BEDOCS += teco/teco1.txt teco/teco2.txt teco/teco3.txt BEDOCS += u12/U12.changes u12/U12.todo BEDOCS += umax/negative-types.txt umax/sane-logo.jpg \ umax/sane-umax-advanced-options-doc.html \ umax/sane-umax-advanced.jpg umax/sane-umax-astra-doc.html \ umax/sane-umax-config-doc.html umax/sane-umax-doc.html \ umax/sane-umax-histogram.jpg umax/sane-umax-mirage-doc.html \ umax/sane-umax-not-listed-doc.html umax/sane-umax-others-doc.html \ umax/sane-umax-parport-doc.html umax/sane-umax-powerlook-doc.html \ umax/sane-umax-scanner-clones-doc.html umax/sane-umax-speed-doc.html \ umax/sane-umax-standard-options-doc.html \ umax/sane-umax-standard.jpg umax/sane-umax-text.jpg \ umax/sane-umax-text2.jpg umax/sane-umax-text4.jpg \ umax/sane-umax-uc-doc.html umax/sane-umax-vista-doc.html \ umax/sane-umax.jpg umax/umax.BUGS umax/umax.CHANGES umax/umax.FAQ \ umax/umax.TODO DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ descriptions/apple.desc descriptions/artec.desc \ descriptions/artec_eplus48u.desc descriptions/as6e.desc \ descriptions/avision.desc descriptions/bh.desc descriptions/canon630u.desc \ descriptions/canon.desc descriptions/canon_dr.desc \ descriptions/canon_pp.desc descriptions/cardscan.desc \ descriptions/coolscan2.desc descriptions/coolscan.desc \ descriptions/coolscan3.desc \ descriptions/dc210.desc descriptions/dc240.desc descriptions/dc25.desc \ descriptions/dell1600n_net.desc descriptions/dll.desc descriptions/dmc.desc \ descriptions/epjitsu.desc descriptions/epson2.desc descriptions/epson.desc \ descriptions/epsonds.desc descriptions/escl.desc \ descriptions/fujitsu.desc descriptions/genesys.desc \ descriptions/gphoto2.desc descriptions/gt68xx.desc descriptions/hp3500.desc \ descriptions/hp3900.desc descriptions/hp4200.desc descriptions/hp5400.desc \ descriptions/hp5590.desc descriptions/hp.desc descriptions/hpljm1005.desc \ descriptions/hpsj5s.desc descriptions/hs2p.desc descriptions/ibm.desc \ descriptions/kodak.desc descriptions/kodakaio.desc descriptions/kvs1025.desc \ descriptions/kvs20xx.desc descriptions/kvs40xx.desc \ descriptions/leo.desc descriptions/lexmark.desc descriptions/ma1509.desc \ descriptions/magicolor.desc \ descriptions/matsushita.desc descriptions/microtek2.desc \ descriptions/microtek.desc descriptions/mustek.desc \ descriptions/mustek_pp.desc descriptions/mustek_usb2.desc \ descriptions/mustek_usb.desc descriptions/nec.desc descriptions/net.desc \ descriptions/niash.desc descriptions/pie.desc descriptions/pieusb.desc descriptions/pint.desc \ descriptions/p5.desc descriptions/pixma.desc descriptions/plustek.desc \ descriptions/plustek_pp.desc descriptions/pnm.desc descriptions/qcam.desc \ descriptions/ricoh.desc descriptions/ricoh2.desc \ descriptions/rts8891.desc descriptions/s9036.desc \ descriptions/sceptre.desc descriptions/sharp.desc descriptions/sm3600.desc \ descriptions/sm3840.desc descriptions/snapscan.desc descriptions/sp15c.desc \ descriptions/st400.desc descriptions/stv680.desc descriptions/tamarack.desc \ descriptions/teco1.desc descriptions/teco2.desc descriptions/teco3.desc \ descriptions/test.desc descriptions/u12.desc \ descriptions/umax1220u.desc descriptions/umax.desc \ descriptions/umax_pp.desc descriptions/unsupported.desc \ descriptions/v4l.desc descriptions/xerox_mfp.desc EXTRA_DIST += $(DESC_FILES) descriptions/template.desc. DESC_EXT_FILES = descriptions-external/brother2.desc \ descriptions-external/brother.desc \ descriptions-external/brother-mfc4600.desc \ descriptions-external/cs3200f.desc \ descriptions-external/epkowa.desc \ descriptions-external/geniusvp2.desc \ descriptions-external/hp3770.desc \ descriptions-external/hp8200.desc \ descriptions-external/hpaio.desc \ descriptions-external/hpoj.desc \ descriptions-external/kodak-twain.desc \ descriptions-external/lhii.desc \ descriptions-external/mustek_a3p1.desc \ descriptions-external/panamfs.desc \ descriptions-external/primascan.desc \ descriptions-external/primax.desc \ descriptions-external/samsung.desc \ descriptions-external/scangearmp2.desc \ descriptions-external/scanwit.desc \ descriptions-external/utsushi.desc \ descriptions-external/v4l2.desc \ descriptions-external/viceo.desc EXTRA_DIST += $(DESC_EXT_FILES) descriptions-external/template.desc. install-data-local: install-beman5 uninstall-local: rm -rf $(DESTDIR)$(beman5dir)/sane-*.5 ## SANE API specification format conversion support API_SPECS = if WITH_API_PS API_SPECS += sane.ps endif if WITH_API_PDF API_SPECS += sane.pdf endif if WITH_API_HTML API_SPECS += sane-html endif API_SPEC_INPUTS = $(srcdir)/sane.tex API_SPEC_INPUTS += $(srcdir)/net.tex EXTRA_DIST += $(API_SPEC_INPUTS) API_SPEC_TEX_FIGS = API_SPEC_TEX_FIGS += figs/area.fig API_SPEC_TEX_FIGS += figs/flow.fig API_SPEC_TEX_FIGS += figs/hierarchy.fig API_SPEC_TEX_FIGS += figs/image-data.fig API_SPEC_TEX_FIGS += figs/xfer.fig EXTRA_DIST += $(API_SPEC_TEX_FIGS) API_SPEC_EPS_FIGS = API_SPEC_EPS_FIGS += figs/area.eps API_SPEC_EPS_FIGS += figs/flow.eps API_SPEC_EPS_FIGS += figs/hierarchy.eps API_SPEC_EPS_FIGS += figs/image-data.eps API_SPEC_EPS_FIGS += figs/xfer.eps API_SPEC_PDF_FIGS = API_SPEC_PDF_FIGS += figs/area.pdf API_SPEC_PDF_FIGS += figs/flow.pdf API_SPEC_PDF_FIGS += figs/hierarchy.pdf API_SPEC_PDF_FIGS += figs/image-data.pdf API_SPEC_PDF_FIGS += figs/xfer.pdf ## These icons are referred to in the generated HTML output. API_SPEC_HTML_ICONS = API_SPEC_HTML_ICONS += icons/contents.gif API_SPEC_HTML_ICONS += icons/index.gif API_SPEC_HTML_ICONS += icons/next.gif icons/next_gr.gif API_SPEC_HTML_ICONS += icons/previous.gif icons/previous_gr.gif API_SPEC_HTML_ICONS += icons/references.gif icons/references_gr.gif API_SPEC_HTML_ICONS += icons/up.gif icons/up_gr.gif EXTRA_DIST += $(API_SPEC_HTML_ICONS) am_TEXINPUTS = TEXINPUTS="$(builddir):$(srcdir):$$TEXINPUTS" sane.ind: $(API_SPEC_INPUTS) @echo Generating index for $<... @touch sane.ind @$(am_TEXINPUTS) $(LATEX) $< /dev/null && \ $(MAKEINDEX) -q sane.idx && \ $(am_TEXINPUTS) $(LATEX) $< /dev/null .fig.eps: @test -d $(@D) || $(MKDIR_P) $(@D) $(FIG2DEV) -L eps $< $@ sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind @echo Generating $@ from $<... @$(am_TEXINPUTS) $(LATEX) $< /dev/null sane.ps: sane.dvi @echo Generating $@ from $<... @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ .fig.pdf: @test -d $(@D) || $(MKDIR_P) $(@D) $(FIG2DEV) -L pdf $< $@ sane.pdf: $(API_SPEC_INPUTS) $(API_SPEC_PDF_FIGS) sane.ind @echo Generating $@ from $<... @$(am_TEXINPUTS) $(PDFLATEX) $< >/dev/null sane-html: sane.dvi $(am_TEXINPUTS) $(DLH) $(srcdir)/sane.tex ## ^^ html-man: $(MANPAGES) @for page in $(MANPAGES); do \ echo "translating $${page} to $${page}.html..."; \ cat $${page} | $(MAN2HTML) > $${page}.html; \ done ../tools/sane-desc: cd ../tools ; $(MAKE) sane-desc sane-backends.html: $(DESC_FILES) ../tools/sane-desc @../tools/sane-desc -m html-backends-split -s ${srcdir}/descriptions \ -i "The following table summarizes the backends/drivers distributed \ with $(PACKAGE)-$(VERSION), and the hardware or software they \ support." -d 0 > sane-backends.html sane-backends-external.html: $(DESC_EXT_FILES) ../tools/sane-desc @../tools/sane-desc -m html-backends-split \ -s ${srcdir}/descriptions-external \ -i "The following table summarizes the backends/drivers that \ have not yet been included in the SANE distribution, and the \ hardware or software they support." \ -t "SANE: External Backends (Drivers)" -d 0 \ > sane-backends-external.html sane-mfgs.html: $(DESC_FILES) ../tools/sane-desc @../tools/sane-desc -m html-mfgs -s ${srcdir}/descriptions \ -i "The following table summarizes the devices supported \ by $(PACKAGE)-$(VERSION)." \ -d 0 > sane-mfgs.html sane-mfgs-external.html: $(DESC_EXT_FILES) ../tools/sane-desc @../tools/sane-desc -m html-mfgs -s ${srcdir}/descriptions-external \ -i "The following table summarizes the devices that \ are supported by external backends." \ -t "SANE: Devices Supported by External Backends" -d 0 \ > sane-mfgs-external.html descriptions.db: $(DESC_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions \ > descriptions.db descriptions-external.db: $(DESC_EXT_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions-external \ > descriptions-external.db html-pages: $(HTML_PAGES) html-local: html-pages html-man sane-html clean-local: rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky *.blg *.idx *.cb rm -f *.ilg rm -f $(API_SPEC_EPS_FIGS) $(API_SPEC_PDF_FIGS) -rmdir figs distclean-local: rm -f $(MANPAGES) rm -f *.lot *.lof *.ind rm -f sane.dvi sane.ps sane-backends.html sane-backends-external.html rm -f sane-mfgs.html sane-mfgs-external.html rm -f sane/*.html sane/*.gif rm -f doxygen-sanei.conf doxygen-genesys.conf -rm -rf sane sanei-html for manpage in $(MANPAGES) ; do \ rm -f $${manpage}.html ; \ done