diff --git a/.gitignore b/.gitignore
index 00cb02d..1ee84da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,51 +1 @@
-# Template from
-# https://github.com/github/gitignore/blob/master/Autotools.gitignore
-
-# http://www.gnu.org/software/automake
-
-Makefile.in
-/ar-lib
-/mdate-sh
-/py-compile
-/test-driver
-/ylwrap
-
-# http://www.gnu.org/software/autoconf
-
-/autom4te.cache
-/autoscan.log
-/autoscan-*.log
-/aclocal.m4
-/compile
-/config.guess
-/config.h.in
-/config.sub
-/configure
-/configure.scan
-/depcomp
-/install-sh
-/missing
-/stamp-h1
-
-# https://www.gnu.org/software/libtool/
-
-/ltmain.sh
-
-# http://www.gnu.org/software/texinfo
-
-/texinfo.tex
-
-# Repo specific items
-*.o
-/config.h
-/config.h.in~
-/config.log
-/config.status
-/phosphor-gpio-monitor
-/presence/phosphor-gpio-presence
-Makefile
-.deps
-/*-libtool
-/test/.deps
-/test/Makefile
-phosphor-gpio-util
+*.sw*
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 4fc8635..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-bin_PROGRAMS = phosphor-gpio-monitor
-
-noinst_HEADERS = monitor.hpp
-
-phosphor_gpio_monitor_SOURCES = \
-	argument.cpp \
-	monitor.cpp \
-	evdev.cpp \
-	mainapp.cpp
-
-phosphor_gpio_monitor_LDFLAGS = \
-	$(SYSTEMD_LIBS) \
-	$(SDBUSPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
-	$(LIBEVDEV_LIBS)
-
-phosphor_gpio_monitor_CXXFLAGS = \
-	$(SYSTEMD_CFLAGS) \
-	$(SDBUSPLUS_CFLAGS) \
-	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	$(LIBEVDEV_CFLAGS)
-
-SUBDIRS = test gpio-util presence
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 50b75b7..0000000
--- a/bootstrap.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-AUTOCONF_FILES="Makefile.in aclocal.m4 ar-lib autom4te.cache compile \
-        config.guess config.h.in config.sub configure depcomp install-sh \
-        ltmain.sh missing *libtool test-driver"
-
-case $1 in
-    clean)
-        test -f Makefile && make maintainer-clean
-        for file in ${AUTOCONF_FILES}; do
-            find -name "$file" | xargs -r rm -rf
-        done
-        exit 0
-        ;;
-esac
-
-autoreconf -i
-echo 'Run "./configure ${CONFIGURE_FLAGS} && make"'
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index e411825..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,57 +0,0 @@
-# Initialization
-AC_PREREQ([2.69])
-AC_INIT([phosphor-gpio-monitor], [1.0], [https://github.com/openbmc/phosphor-gpio-monitor/issues])
-AC_LANG([C++])
-AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
-AM_SILENT_RULES([yes])
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_INSTALL
-
-# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX_17([noext])
-AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])
-
-# For linking
-LT_INIT
-
-# Checks for modules
-PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
-PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging])
-PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
-PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces])
-PKG_CHECK_MODULES([LIBEVDEV], [libevdev])
-
-# Download gpio.h from github if necessary.
-AC_CHECK_HEADER(linux/gpio.h,[HAVE_LINUX_GPIO_H=""],[HAVE_LINUX_GPIO_H="-I linux/gpio.h"])
-AS_IF([test "$HAVE_LINUX_GPIO_H" != ""],
-    AC_MSG_WARN([Could not find linux/gpio.h: Attempting to download locally for building from https://raw.githubusercontent.com/torvalds/linux/master/include/uapi/linux/gpio.h])
-    AC_SUBST([BT_BMC_DL],[`mkdir -p linux;wget https://raw.githubusercontent.com/torvalds/linux/master/include/uapi/linux/gpio.h -O linux/gpio.h`])
-)
-
-# Check/set gtest specific functions.
-AX_PTHREAD([GTEST_CPPFLAGS="-DGTEST_HAS_PTHREAD=1"],[GTEST_CPPFLAGS="-DGTEST_HAS_PTHREAD=0"])
-AC_SUBST(GTEST_CPPFLAGS)
-AC_ARG_ENABLE([oe-sdk],
-    AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.])
-)
-AC_ARG_VAR(OECORE_TARGET_SYSROOT,
-    [Path to the OE SDK SYSROOT])
-AS_IF([test "x$enable_oe_sdk" == "xyes"],
-    AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"],
-          AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk])
-    )
-    AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT])
-    [
-        testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib"
-        testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib"
-        testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`"
-    ]
-    AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags])
-)
-
-# Create configured output
-AC_CONFIG_FILES([Makefile gpio-util/Makefile presence/Makefile test/Makefile])
-AC_OUTPUT
diff --git a/presence/Makefile.am b/presence/Makefile.am
deleted file mode 100644
index 7cbfe80..0000000
--- a/presence/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir}
-
-bin_PROGRAMS = \
-	phosphor-gpio-presence
-
-phosphor_gpio_presence_SOURCES = \
-	main.cpp \
-	argument.cpp \
-	../evdev.cpp \
-	gpio_presence.cpp
-
-phosphor_gpio_presence_CXXFLAGS = \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-	$(LIBEVDEV_CFLAGS)
-
-phosphor_gpio_presence_LDADD = \
-	-lstdc++fs \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
-	$(LIBEVDEV_LIBS)
-
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index 74760fe..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir)
-AM_CXXFLAGS = $(LIBEVDEV_CFLAGS)
-
-# Run all 'check' test programs
-TESTS = $(check_PROGRAMS)
-
-# Build/add utest to test suite
-check_PROGRAMS = utest
-
-utest_CPPFLAGS = \
-	-Igtest \
-	$(GTEST_CPPFLAGS) \
-	$(AM_CPPFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	$(LIBEVDEV_CFLAGS)
-
-utest_CXXFLAGS = \
-	$(PTHREAD_CFLAGS) \
-	$(LIBEVDEV_CFLAGS) \
-	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-utest_LDFLAGS = \
-	-lgtest_main -lgtest \
-	$(PTHREAD_LIBS) \
-	$(OESDK_TESTCASE_FLAGS) \
-	$(SYSTEMD_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	$(LIBEVDEV_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS)
-
-utest_SOURCES = utest.cpp
-
-utest_LDADD = \
-	$(top_builddir)/monitor.o \
-	$(top_srcdir)/evdev.cpp
