summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am94
1 files changed, 94 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..a638eec
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,94 @@
+## 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.
+
+SUBDIRS = include lib sanei backend frontend tools doc po testsuite
+DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite
+
+dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \
+ README README.aix README.beos README.darwin README.djpeg README.freebsd \
+ README.hp-ux README.linux README.netbsd README.openbsd README.os2 \
+ README.solaris README.unixware2 README.unixware7 README.windows \
+ README.zeta
+EXTRA_DIST = ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 \
+ ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5 ChangeLog-1.0.6 \
+ ChangeLog-1.0.7 ChangeLog-1.0.8 ChangeLog-1.0.9 ChangeLog-1.0.10 \
+ ChangeLog-1.0.12 ChangeLog-1.0.13 ChangeLog-1.0.14 ChangeLog-1.0.15 \
+ ChangeLog-1.0.16 ChangeLog-1.0.17 ChangeLog-1.0.18 ChangeLog-1.0.19 \
+ ChangeLog-1.0.20 ChangeLog-1.0.21 ChangeLog-1.0.22 ChangeLog-1.0.23 \
+ $(PACKAGE).lsm
+
+#
+# Keep the .cvsignore files sorted, and use this target to do it.
+#
+PERL=perl
+sort-cvsignore:
+ for f in `find . -name .cvsignore`; do \
+ $(PERL) -e 'print sort <>;' < $$f > $$f.tmptmp; \
+ mv $$f.tmptmp $$f; \
+ done
+
+#
+# Check to make sure only sane_ and sanei_ symbols are exported from
+# the libraries
+#
+libcheck:
+ @echo "Libraries exporting 'illegal' symbols:"
+ @for lib in backend/.libs/*.so backend/.libs/*.a; do \
+ lines=`nm -g $$lib|grep '\( T \)\|\( D \)'|egrep -v ' _fini| _init'|egrep -v ' sane_| sanei_'`; \
+ if test -n "$$lines" ; then \
+ echo -e "*** $$lib:\n$$lines"; \
+ found_errors="yes"; \
+ fi \
+ done; \
+ echo; \
+ echo "Libraries exporting 'non-standard sane_*' symbols:"; \
+ for lib in backend/.libs/*.so backend/.libs/*.a; do \
+ lines=`nm -g $$lib|grep '\( T \)\|\( D \)'|egrep ' sane_' | egrep -v 'sane_.*init|sane_.*exit|sane_.*get_devices|sane_.*open|sane_.*close|sane_.*get_option_descriptor|sane_.*control_option|sane_.*get_parameters|sane_.*start|sane_.*read|sane_.*cancel|sane_.*set_io_mode|sane_.*get_select_fd|sane_strstatus'` ; \
+ if test -n "$$lines" ; then \
+ echo -e "*** $$lib:\n$$lines"; \
+ found_errors="yes"; \
+ fi \
+ done;
+ if test ! -z $$found_errors ; then \
+ exit 1; \
+ fi
+
+# Verify that backends do not contain any unwanted public symbols
+# anytime check or distcheck is ran.
+# TODO: Currently this doesn't pass. Uncomment once symbols have
+# been cleaned up.
+#check-am: libcheck
+
+# Run testsuite any time installcheck or distcheck is ran.
+# Must run testsuite after install or else shared library backends
+# will not be found (including test backend).
+installcheck-local:
+ cd testsuite && $(MAKE) test.local
+
+$(distdir).lsm: dist $(PACKAGE).lsm
+ ( cat $(PACKAGE).lsm | \
+ sed -e "s|_DATE_|`date +%d%b%y`|g" |\
+ sed -e "s|_VERSION_|$(VERSION)|g" | \
+ sed -e "s|_T_S_|`find $(distdir).tar.gz -printf "%4k"`|g" |\
+ sed -e "s|_L_S_|`find $(PACKAGE).lsm -printf "%4k"`|g" >\
+ $(distdir).lsm \
+ )
+lsm: $(distdir).lsm
+
+md5: dist
+ md5sum $(distdir).tar.gz > $(distdir).tar.gz.md5
+
+sane-backends: lsm md5
+
+# Clean files created by custom targets in this file.
+clean-local:
+ rm -f sane-backends-*.lsm
+ rm -f $(distdir).tar.gz.md5
+
+# Clean files created by configure
+distclean-local:
+ rm -f include/_stdint.h
+ rm -f include/byteorder.h