diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index c2e7d73..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-
-if HAVE_SYSTEMD
-systemdsystemunit_DATA = \
-  lpcsnoop.service
-endif
-
-bin_PROGRAMS = snoopd snooper
-
-if ENABLE_7SEG
-if HAVE_SYSTEMD
-systemdsystemunit_DATA += postcode-7seg@.service
-endif # HAVE_SYSTEMD
-
-bin_PROGRAMS += postcode_7seg
-
-postcode_7seg_SOURCES = 7seg.cpp
-postcode_7seg_LDADD = $(SDBUSPLUS_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) -lstdc++fs
-postcode_7seg_CXXFLAGS = $(SDBUSPLUS_CFLAGS) $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-udevrulesdir = $(UDEVRULESDIR)
-udevrules_DATA = 80-7seg.rules
-endif # ENABLE_7SEG
-
-snoopd_SOURCES = main.cpp
-snoopd_LDADD = $(SDBUSPLUS_LIBS) $(SDEVENTPLUS_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) -lpthread
-snoopd_CXXFLAGS = $(SDBUSPLUS_CFLAGS) $(SDEVENTPLUS_CFLAGS) $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-snooper_SOURCES = example.cpp
-snooper_LDADD = $(SDBUSPLUS_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS)
-snooper_CXXFLAGS = $(SDBUSPLUS_CFLAGS) $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-# Installs in $(includedir)/lpcsnoop/
-nobase_include_HEADERS = lpcsnoop/snoop.hpp lpcsnoop/snoop_listen.hpp
-
-SUBDIRS = . test
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 9ecf38f..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,94 +0,0 @@
-# Initialization
-AC_PREREQ([2.69])
-AC_INIT([phosphor-host-postd], [1.0], [https://github.com/openbmc/phosphor-host-postd/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
-AM_PROG_AR
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-
-# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX_17([noext])
-AX_APPEND_COMPILE_FLAGS([-fpic -Wall -Werror], [CXXFLAGS])
-
-# Checks for libraries.
-PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
-PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
-PKG_CHECK_MODULES([SDEVENTPLUS], [sdeventplus])
-PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces])
-AC_CHECK_HEADER(experimental/filesystem, ,[AC_MSG_ERROR([Could not find experimental/filesystem...libstdc++fs development package required])])
-
-# Checks for library functions.
-LT_INIT # Required for systemd linking
-
-AC_ARG_VAR(SNOOP_DEVICE, "Path to snoop device")
-AC_ARG_VAR(POST_CODE_BYTES, "Post code byte size")
-AC_ARG_VAR(SYSTEMD_TARGET, "Target for starting this service")
-
-PKG_PROG_PKG_CONFIG
-AC_ARG_WITH([systemdsystemunitdir],
-     [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
-     [with_systemdsystemunitdir=auto])
-AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
-     def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
-
-     AS_IF([test "x$def_systemdsystemunitdir" = "x"],
-   [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
-    [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
-    with_systemdsystemunitdir=no],
-   [with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
-AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
-      [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
-AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])
-
-# Check/set gtest specific functions.
-PKG_CHECK_MODULES([GTEST], [gtest_main], [], [AC_MSG_NOTICE([gtest not found, tests will not build])])
-PKG_CHECK_MODULES([GMOCK], [gmock], [], [AC_MSG_NOTICE([gmock not found, tests will not build])])
-AX_PTHREAD([GTEST_CFLAGS+=" -DGTEST_HAS_PTHREAD=1 "],[GTEST_CFLAGS+=" -DGTEST_HAS_PTHREAD=0 "])
-
-AC_ARG_ENABLE([7seg],
-    AS_HELP_STRING([--enable-7seg], [Build daemon to send POST codes to a 7-segment display.])
-)
-AM_CONDITIONAL([ENABLE_7SEG], [test "x$enable_7seg" = "xyes"])
-
-AS_IF([test "x$enable_7seg" = "xyes"], [
-    PKG_CHECK_VAR([UDEVRULESDIR], [udev], [udevdir])
-    AC_MSG_CHECKING([udev rules path])
-    AS_IF([test "x$UDEVRULESDIR" = "x"], [
-        AC_MSG_FAILURE([Unable to identify udev rules path.])
-    ])
-])
-
-# Add --enable-oe-sdk flag to configure script
-AC_ARG_ENABLE([oe-sdk],
-    AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.])
-)
-
-# Check for OECORE_TARGET_SYSROOT in the environment.
-AC_ARG_VAR(OECORE_TARGET_SYSROOT,
-    [Path to the OE SDK SYSROOT])
-
-# Configure OESDK_TESTCASE_FLAGS environment variable, which will be later
-# used in test/Makefile.am
-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 test/Makefile])
-AC_CONFIG_FILES([lpcsnoop.service])
-AC_OUTPUT
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index cd2665a..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,27 +0,0 @@
-# Common flags for all binaries in this subdirectory.
-# Per-program specific flags can be specified using
-# prg_CPPFLAGS = ....
-AM_CPPFLAGS = -I${top_srcdir} \
-              $(GTEST_CFLAGS) \
-              $(GMOCK_CFLAGS) \
-              $(SDBUSPLUS_CFLAGS) \
-              $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-AM_CXXFLAGS = $(PTHREAD_CFLAGS) \
-              $(GTEST_CFLAGS)
-
-AM_LDFLAGS = $(GTEST_LIBS) \
-             $(PTHREAD_LIBS) \
-             $(GMOCK_LIBS) \
-             $(OESDK_TESTCASE_FLAGS) \
-             $(SDBUSPLUS_LIBS) \
-             $(PHOSPHOR_DBUS_INTERFACES_LIBS)
-
-# The list of unit test programs we are building and running.
-check_PROGRAMS = post_reporter_test
-
-# Run all 'check' test programs
-TESTS = $(check_PROGRAMS)
-
-# List sources for each test.
-post_reporter_test_SOURCES = post_reporter_test.cpp
