build-sys: use autotools build system derived from xf86-input-evdev.

Instead of using a custom-tailored Makefile, this brings multitouch up to
speed with the input drivers from FreeDesktop.org and allows it to
cross-compile just fine.
diff --git a/.gitignore b/.gitignore
index 19bcc25..b7a7dce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,26 @@
+*.la
+*.lo
+*.o
+*~
+.deps
+.libs
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
 debian/files
 debian/xf86-input-multitouch*
-bin
-obj
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
 patches
+stamp-h1
diff --git a/Makefile b/Makefile
deleted file mode 100644
index f9e5c0a..0000000
--- a/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-VERSION = 1
-PATCHLEVEL = 0
-EXTRAVERSION = rc2
-
-LIBRARY	= multitouch.so
-MODULES = src
-XMODULES = driver
-
-o_src	= capabilities hwstate mtstate memory mtouch gestures
-
-o_driver= multitouch
-
-TARGETS	+= src/test
-
-OBJECTS	= $(addsuffix .o,\
-	$(foreach mod,$(MODULES),\
-	$(addprefix $(mod)/,$(o_$(mod)))))
-XOBJECTS= $(addsuffix .o,\
-	$(foreach mod,$(XMODULES),\
-	$(addprefix $(mod)/,$(o_$(mod)))))
-
-TBIN	= $(addprefix bin/,$(TARGETS))
-TLIB	= $(addprefix obj/,$(LIBRARY))
-TOBJ	= $(addprefix obj/,$(addsuffix .o,$(TARGETS)))
-OBJS	= $(addprefix obj/,$(OBJECTS))
-XOBJS	= $(addprefix obj/,$(XOBJECTS))
-LIBS	= -lmtdev -lm
-LIBDIR  = usr/lib
-
-DLIB	= $(LIBDIR)/xorg/modules/input
-
-INCLUDE = -Iinclude -I/usr/include/xorg -I/usr/include/pixman-1
-OPTS	= -O3 -fPIC
-
-.PHONY: all clean
-.PRECIOUS: obj/%.o
-
-all:	$(OBJS) $(TLIB) $(TOBJ) $(TBIN)
-
-bin/%:	obj/%.o $(OBJS)
-	@mkdir -p $(@D)
-	gcc $< -o $@ $(OBJS) $(LIBS)
-
-$(TLIB): $(OBJS) $(XOBJS)
-	@rm -f $(TLIB)
-	gcc -shared $(OBJS) $(XOBJS) $(LIBS) -Wl,-soname -Wl,$(LIBRARY) -o $@
-
-obj/%.o: %.c
-	@mkdir -p $(@D)
-	gcc $(INCLUDE) $(OPTS) -c $< -o $@
-
-obj/%.o: %.cc
-	@mkdir -p $(@D)
-	gcc $(INCLUDE) $(OPTS) -c $< -o $@
-
-clean:
-	rm -rf bin obj
-
-distclean: clean
-	rm -rf debian/*.log debian/files debian/xf86-input-multitouch*
-
-install: $(TLIB)
-	install -d "$(DESTDIR)/$(DLIB)"
-	install -m 755 $(TLIB) "$(DESTDIR)/$(DLIB)"
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..149be35
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,52 @@
+#  Copyright 2005 Adam Jackson.
+#  Copyright 2011 Diego Elio Pettenò <flameeyes@gmail.com>
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+AM_CFLAGS = $(XORG_CFLAGS) $(MTDEV_CFLAGS) $(CWARNFLAGS)
+AM_CPPFLAGS =-I$(top_srcdir)/include
+
+input_LTLIBRARIES = multitouch_drv.la
+multitouch_drv_la_LDFLAGS = -module -avoid-version -export-dynamic -shared
+
+multitouch_drv_la_SOURCES = \
+	driver/multitouch.c \
+	include/button.h \
+	include/capabilities.h \
+	include/common.h \
+	include/gestures.h \
+	include/hwstate.h \
+	include/memory.h \
+	include/mtouch.h \
+	include/mtstate.h \
+	src/capabilities.c \
+	src/gestures.c \
+	src/hwstate.c \
+	src/memory.c \
+	src/mtouch.c \
+	src/mtstate.c
+
+multitouch_drv_la_LIBADD = $(MTDEV_LIBS) -lm
+
+EXTRA_PROGRAMS = test
+
+test_SOURCES = \
+	include/xbypass.h \
+	src/test.c
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..5d1bdfb
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,75 @@
+dnl  Copyright 2005 Adam Jackson.
+dnl  Copyright 2011 Diego Elio Pettenò <flameeyes@gmail.com>
+dnl
+dnl  Permission is hereby granted, free of charge, to any person obtaining a
+dnl  copy of this software and associated documentation files (the "Software"),
+dnl  to deal in the Software without restriction, including without limitation
+dnl  on the rights to use, copy, modify, merge, publish, distribute, sub
+dnl  license, and/or sell copies of the Software, and to permit persons to whom
+dnl  the Software is furnished to do so, subject to the following conditions:
+dnl
+dnl  The above copyright notice and this permission notice (including the next
+dnl  paragraph) shall be included in all copies or substantial portions of the
+dnl  Software.
+dnl
+dnl  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+dnl  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+dnl  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+dnl  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+dnl  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+dnl  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+dnl
+dnl Process this file with autoconf to produce a configure script
+
+dnl Initialize Autoconf
+AC_PREREQ([2.60])
+AC_INIT([xf86-input-multitouch],
+        [1.0.0-rc2],
+        [patches@bitmath.org],
+        [xf86-input-multitouch],
+        [http://bitmath.org/code/multitouch/])
+AC_CONFIG_SRCDIR([Makefile.am])
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_AUX_DIR(.)
+
+dnl Initialize Automake
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+dnl Initialize libtool
+AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
+
+dnl Initialize X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+m4_ifndef([XORG_MACROS_VERSION], 
+          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
+XORG_DEFAULT_OPTIONS
+
+dnl Obtain compiler/linker options from server and required extensions
+PKG_CHECK_MODULES(XORG, xorg-server xproto inputproto)
+PKG_CHECK_MODULES(MTDEV, mtdev)
+
+dnl Define a configure option for an alternate input module directory
+AC_ARG_WITH(xorg-module-dir,
+            AC_HELP_STRING([--with-xorg-module-dir=DIR],
+                           [Default xorg module directory @<:@default=$libdir/xorg/modules@:>@]),
+            [moduledir="$withval"],
+            [moduledir="$libdir/xorg/modules"])
+inputdir=${moduledir}/input
+AC_SUBST(inputdir)
+
+dnl X Server SDK location is required to install evdev header files
+dnl This location is also relayed in the xorg-evdev.pc file
+sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
+
+dnl Workaround overriding sdkdir to be able to create a tarball when user has no
+dnl write permission in sdkdir. See DISTCHECK_CONFIGURE_FLAGS in Makefile.am
+AC_ARG_WITH([sdkdir], [], [sdkdir="$withval"])
+AC_SUBST([sdkdir])
+
+DRIVER_NAME=multitouch
+AC_SUBST([DRIVER_NAME])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT