diff --git a/Demo/Makefile.am b/Demo/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Demo/Makefile.am
@@ -0,0 +1,31 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(UFCONFIG_CFLAGS)
+LDADD = $(top_builddir)/Source/libcolamd.la
+
+EXTRA_DIST = \
+	colamd_example.out \
+	colamd_l_example.out
+
+# Disable the .out implicit pattern rule.  Prevents GNU make from
+# adding bogus dependencies for the .out files listed above.
+%.out: %
+
+check_PROGRAMS = \
+	colamd_example \
+	colamd_l_example
+
+colamd_example_SOURCES = colamd_example.c
+colamd_l_example_SOURCES = colamd_l_example.c
+
+check-local: $(check_PROGRAMS) $(check_PROGRAMS:=.out)
+	@for i in $(check_PROGRAMS); do \
+		echo "Testing $$i"; \
+		./$$i$(EXEEXT) > my_$$i.out; \
+		if diff -u $$i.out my_$$i.out; then \
+			echo "Test $$i PASSED."; \
+		else \
+			echo "Test $$i FAILED."; \
+		fi; \
+	done
+
+clean-local:
+	-$(RM) my_*.out
diff --git a/Include/Makefile.am b/Include/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Include/Makefile.am
@@ -0,0 +1,2 @@
+pkgincludedir = $(includedir)/colamd
+pkginclude_HEADERS = colamd.h
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+SUBDIRS = Include Source Demo
+EXTRA_DIST = README.txt Doc/ChangeLog Doc/lesser.txt
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = colamd.pc
diff --git a/Source/Makefile.am b/Source/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Source/Makefile.am
@@ -0,0 +1,18 @@
+AM_CPPFLAGS = -I$(top_builddir)/Include $(UFCONFIG_CFLAGS)
+
+COLAMDSRC = \
+	colamd.c
+
+lib_LTLIBRARIES = libcolamd.la
+noinst_LTLIBRARIES = libcolamdi.la libcolamdl.la
+
+libcolamdi_la_SOURCES = $(COLAMDSRC)
+libcolamdi_la_LIBADD = -lm
+
+libcolamdl_la_SOURCES = $(COLAMDSRC)
+libcolamdl_la_LIBADD = -lm
+libcolamdl_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
+
+libcolamd_la_SOURCES = colamd_global.c
+libcolamd_la_LIBADD = libcolamdi.la libcolamdl.la
+libcolamd_la_LDFLAGS = -no-undefined -version-info 9:3:7
diff --git a/colamd.pc.in b/colamd.pc.in
new file mode 100644
--- /dev/null
+++ b/colamd.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: Column approximate minimum degree ordering
+Version: @PACKAGE_VERSION@
+Requires.private: ufconfig
+Libs: -L${libdir} -lcolamd
+Libs.private: -lm
+Cflags: -I${includedir}/colamd
diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,34 @@
+AC_PREREQ([2.68])
+AC_INIT([COLAMD],[2.7.3],[davis@cise.ufl.edu])
+AC_CONFIG_SRCDIR([Source/colamd_global.c])
+AC_CONFIG_HEADER([config.h])
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
+AC_PROG_INSTALL
+AC_PROG_CC
+
+LIBS_SAVED=$LIBS
+
+AC_CHECK_LIB([m], [sqrt])
+
+AC_CHECK_HEADERS([limits.h stdlib.h])
+
+PKG_PROG_PKG_CONFIG
+PKG_CHECK_MODULES([UFCONFIG],[ufconfig],
+	[],
+	[AC_MSG_ERROR([cannot find ufconfig])])
+
+AC_TYPE_SIZE_T
+
+AC_CHECK_FUNCS([sqrt])
+
+LIBS=$LIBS_SAVED
+
+AC_CONFIG_FILES([
+	colamd.pc
+	Makefile
+	Demo/Makefile
+	Include/Makefile
+	Source/Makefile])
+AC_OUTPUT