diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 6aba107..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,40 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-bin_PROGRAMS = phosphor-ledmanager
-bin_SCRIPTS = scripts/led-set-all-groups-asserted.sh
-
-phosphor_ledmanager_SOURCES = \
-                led-main.cpp  \
-                manager.cpp \
-                group.cpp \
-                serialize.cpp \
-                utils.cpp
-
-if !WANTS_JSON
-BUILT_SOURCES = led-gen.hpp
-CLEANFILES = led-gen.hpp
-
-led-gen.hpp: ${srcdir}/parse_led.py
-	$(AM_V)@LEDGEN@ > $@
-endif
-
-phosphor_ledmanager_LDFLAGS = $(SDBUSPLUS_LIBS) \
-                              $(PHOSPHOR_LOGGING_LIBS) \
-                              $(PHOSPHOR_DBUS_INTERFACES_LIBS) \
-                              $(SDEVENTPLUS_LIBS)
-phosphor_ledmanager_CFLAGS =  $(SDBUSPLUS_CFLAGS) \
-                              $(PHOSPHOR_LOGGING_CFLAGS) \
-                              $(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-                              $(SDEVENTPLUS_CFLAGS)
-
-if WANTS_LAMP_TEST
-phosphor_ledmanager_SOURCES += lamptest.cpp
-endif
-
-led_default_configdir    	 = 	${datadir}/phosphor-led-manager
-led_ibm_rainier_2u_configdir = 	${datadir}/phosphor-led-manager/ibm,rainier-2u
-led_ibm_rainier_4u_configdir = 	${datadir}/phosphor-led-manager/ibm,rainier-4u
-
-led_ibm_rainier_2u_config_DATA = configs/ibm,rainier-2u/led-group-config.json
-led_ibm_rainier_4u_config_DATA = configs/ibm,rainier-4u/led-group-config.json
-
-SUBDIRS = test fault-monitor
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 0beaf29..0000000
--- a/bootstrap.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-AUTOCONF_FILES="Makefile.in aclocal.m4 ar-lib autom4te.cache compile config.* \
-        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" -print0 | xargs -0 -r rm -rf
-        done
-        exit 0
-        ;;
-esac
-
-autoreconf -i
-# shellcheck disable=SC2016
-echo 'Run "./configure ${CONFIGURE_FLAGS} && make"'
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index f76cdb7..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,140 +0,0 @@
-# Initialization
-AC_PREREQ([2.69])
-AC_INIT([phosphor-led-manager], [1.0], [https://github.com/openbmc/phosphor-led-manager/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
-AC_PROG_MAKE_SET
-
-# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX_17([noext])
-AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])
-
-# Python
-AM_PATH_PYTHON([3], [AC_SUBST([PYTHON], [echo "$PYTHON"])], [AC_MSG_ERROR([Could not find python-3 installed...python-3 is required])])
-
-LT_INIT # Removes WARNING: unrecognized options: --with-libtool-sysroot
-# 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])
-)
-
-# Checks for modules
-PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus],, [AC_MSG_ERROR([Could not find sdbusplus...openbmc/sdbusplus package required])])
-PKG_CHECK_MODULES([SDEVENTPLUS], [sdeventplus],, [AC_MSG_ERROR([Could not find sdeventplus...openbmc/sdeventplus package required])])
-PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging],, [AC_MSG_ERROR([Could not find phosphor-logging...openbmc/phosphor-logging package required])])
-PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces],, [AC_MSG_ERROR([Could not find phosphor-dbus-interfaces...openbmc/phosphor-dbus-interfaces package required])])
-AC_CHECK_HEADER(nlohmann/json.hpp, ,[AC_MSG_ERROR([Could not find nlohmann/json.hpp...nlohmann/json package required])])
-
-# Check for sdbus++ tool
-AC_PATH_PROG([SDBUSPLUSPLUS], [sdbus++])
-AS_IF([test "x$SDBUSPLUSPLUS" == "x"], AC_MSG_ERROR([Cannot find sdbus++]))
-
-# Dbus service name
-AC_ARG_VAR(BUSNAME, [The Dbus busname to own])
-AS_IF([test "x$BUSNAME" == "x"], [BUSNAME="xyz.openbmc_project.LED.GroupManager"])
-AC_DEFINE_UNQUOTED([BUSNAME], ["$BUSNAME"], [The Dbus busname to own])
-
-# Service dbus root
-AC_ARG_VAR(OBJPATH, [The LED group Dbus root])
-AS_IF([test "x$OBJPATH" == "x"], [OBJPATH="/xyz/openbmc_project/led/groups"])
-AC_DEFINE_UNQUOTED([OBJPATH], ["$OBJPATH"], [The LED group Dbus root])
-
-# Handling configuration files
-AC_ARG_VAR(YAML_PATH, [The path to the yaml config files.])
-AS_IF([test "x$YAML_PATH" == "x"], [YAML_PATH="$srcdir"])
-LEDGEN="$PYTHON $srcdir/parse_led.py -i $YAML_PATH"
-AC_SUBST(LEDGEN)
-
-# JSON configuration file
-AC_ARG_VAR(LED_JSON_FILE, [The LED configuration JSON file])
-AS_IF([test "x$LED_JSON_FILE" == "x"], [LED_JSON_FILE="/usr/share/phosphor-led-manager/led-group-config.json"])
-AC_DEFINE_UNQUOTED([LED_JSON_FILE], ["$LED_JSON_FILE"], [The LED configuration JSON file])
-
-AC_ARG_VAR(CLASS_VERSION, [Class version to register with Cereal])
-AS_IF([test "x$CLASS_VERSION" == "x"], [CLASS_VERSION=1])
-AC_DEFINE_UNQUOTED([CLASS_VERSION], [$CLASS_VERSION], [Class version to register with Cereal])
-
-# enable JSON configuration
-AC_ARG_ENABLE([use-json],
-    AS_HELP_STRING([--enable-use-json], [Enable JSON configuration.]))
-AM_CONDITIONAL([WANTS_JSON], [test "x$enable_use_json" == "xyes"])
-AS_IF([test "x$enable_use_json" == "xyes"],
-    AC_DEFINE([LED_USE_JSON],[],[Enable JSON configuration.])
-)
-
-# enable OperationalStatus monitor
-AC_ARG_ENABLE([monitor-operational-status],
-    AS_HELP_STRING([--enable-monitor-operational-status], [Enable OperationalStatus monitor.]))
-AM_CONDITIONAL([WANTS_OPERATIONAL_STATUS], [test "x$enable_monitor_operational_status" == "xyes"])
-AS_IF([test "x$enable_monitor_operational_status" == "xyes"],
-    AC_DEFINE([MONITOR_OPERATIONAL_STATUS],[],[Enable OperationalStatus monitor.])
-)
-
-# enable lamp test configuration
-AC_ARG_ENABLE([use-lamp-test],
-    AS_HELP_STRING([--enable-use-lamp-test], [Enable lamp test configuration.]))
-AM_CONDITIONAL([WANTS_LAMP_TEST], [test "x$enable_use_lamp_test" == "xyes"])
-
-AS_IF([test "x$enable_use_lamp_test" == "xyes"],
-    AC_DEFINE([USE_LAMP_TEST],[],[Enable lamp test configuration.])
-
-    # lamp test path
-    AC_ARG_VAR(LAMP_TEST_OBJECT, [The lamp test object])
-
-    # host lamp test path
-    AC_ARG_VAR(HOST_LAMP_TEST_OBJECT, [The lamp test object])
-
-    # lamp test timeout secs
-    AC_ARG_VAR(LAMP_TEST_TIMEOUT_IN_SECS, [The lamp test timeout in seconds])
-
-    # JSON file having LED names that will be force updated and/or skipped during lamp test
-    AC_ARG_VAR(LAMP_TEST_LED_OVERRIDES_JSON, [JSON file having LED names that will be force updated and/or skipped during lamp test])
-
-    AS_IF([test "x$LAMP_TEST_OBJECT" == "x"], [LAMP_TEST_OBJECT="/xyz/openbmc_project/led/groups/lamp_test"])
-    AC_DEFINE_UNQUOTED([LAMP_TEST_OBJECT], ["$LAMP_TEST_OBJECT"], [The lamp test D-Bus object])
-
-    AS_IF([test "x$HOST_LAMP_TEST_OBJECT" == "x"], [HOST_LAMP_TEST_OBJECT="/xyz/openbmc_project/led/groups/host_lamp_test"])
-    AC_DEFINE_UNQUOTED([HOST_LAMP_TEST_OBJECT], ["$HOST_LAMP_TEST_OBJECT"], [The host lamp test D-Bus object])
-
-    AS_IF([test "x$LAMP_TEST_TIMEOUT_IN_SECS" == "x"], [LAMP_TEST_TIMEOUT_IN_SECS=240])
-    AC_DEFINE_UNQUOTED([LAMP_TEST_TIMEOUT_IN_SECS], [$LAMP_TEST_TIMEOUT_IN_SECS], [The lamp test timeout in seconds])
-
-    AS_IF([test "x$LAMP_TEST_LED_OVERRIDES_JSON" == "x"], [LAMP_TEST_LED_OVERRIDES_JSON="/usr/share/phosphor-led-manager/lamp-test-led-overrides.json"])
-    AC_DEFINE_UNQUOTED([LAMP_TEST_LED_OVERRIDES_JSON], ["$LAMP_TEST_LED_OVERRIDES_JSON"], [JSON file having LED names that will be force updated and/or skipped during lamp test])
-)
-
-# Path of file for storing the names of asserted groups
-AC_ARG_VAR(SAVED_GROUPS_FILE, [Path of file for storing the names of asserted groups])
-AS_IF([test "x$SAVED_GROUPS_FILE" == "x"], [SAVED_GROUPS_FILE="/var/lib/phosphor-led-manager/savedGroups"])
-AC_DEFINE_UNQUOTED([SAVED_GROUPS_FILE], ["$SAVED_GROUPS_FILE"], [Path of file for storing the names of asserted groups])
-
-AC_DEFINE(CALLOUT_FWD_ASSOCIATION, "callout", [The name of the callout's forward association.])
-AC_DEFINE(CALLOUT_REV_ASSOCIATION, "fault", [The name of the callout's reverse association.])
-AC_DEFINE(ELOG_ENTRY, "entry", [Path element indicates an error log entry under logging namespace.])
-AC_DEFINE(LED_FAULT, "fault", [Path element to indicates a fault led under led groups.])
-
-# Create configured output
-AC_CONFIG_FILES([Makefile test/Makefile fault-monitor/Makefile])
-AC_OUTPUT
diff --git a/fault-monitor/Makefile.am b/fault-monitor/Makefile.am
deleted file mode 100644
index 7ae4263..0000000
--- a/fault-monitor/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -I$(top_srcdir)
-
-if WANTS_OPERATIONAL_STATUS
-noinst_HEADERS = operational-status-monitor.hpp
-else
-noinst_HEADERS = fru-fault-monitor.hpp
-endif
-
-bin_PROGRAMS = phosphor-fru-fault-monitor
-
-phosphor_fru_fault_monitor_SOURCES = \
-               monitor-main.cpp \
-               xyz/openbmc_project/Led/Mapper/error.cpp \
-               xyz/openbmc_project/Led/Fru/Monitor/error.cpp
-
-if WANTS_OPERATIONAL_STATUS
-phosphor_fru_fault_monitor_SOURCES += \
-               ../utils.cpp \
-               operational-status-monitor.cpp
-else
-phosphor_fru_fault_monitor_SOURCES += \
-               fru-fault-monitor.cpp
-endif
-
-BUILT_SOURCES =  xyz/openbmc_project/Led/Mapper/error.hpp \
-                 xyz/openbmc_project/Led/Mapper/error.cpp \
-                 xyz/openbmc_project/Led/Fru/Monitor/error.hpp \
-                 xyz/openbmc_project/Led/Fru/Monitor/error.cpp
-
-CLEANFILES = ${BUILT_SOURCES}
-
-phosphor_fru_fault_monitor_LDFLAGS = $(SDBUSPLUS_LIBS) \
-                                     $(PHOSPHOR_LOGGING_LIBS) \
-                                     $(PHOSPHOR_DBUS_INTERFACES_LIBS)
-phosphor_fru_fault_monitor_CFLAGS =  $(SDBUSPLUS_CFLAGS) \
-                                     $(PHOSPHOR_LOGGING_CFLAGS) \
-                                     $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
-
-xyz/openbmc_project/Led/Mapper/error.hpp: ${top_srcdir}/xyz/openbmc_project/Led/Mapper.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-header xyz.openbmc_project.Led.Mapper > $@
-
-xyz/openbmc_project/Led/Mapper/error.cpp: ${top_srcdir}/xyz/openbmc_project/Led/Mapper.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-cpp xyz.openbmc_project.Led.Mapper > $@
-
-xyz/openbmc_project/Led/Fru/Monitor/error.hpp: ${top_srcdir}/xyz/openbmc_project/Led/Fru/Monitor.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-header xyz.openbmc_project.Led.Fru.Monitor > $@
-
-xyz/openbmc_project/Led/Fru/Monitor/error.cpp: ${top_srcdir}/xyz/openbmc_project/Led/Fru/Monitor.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-cpp xyz.openbmc_project.Led.Fru.Monitor > $@
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index 7c3dbc7..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir)
-
-# 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)
-utest_CXXFLAGS = $(PTHREAD_CFLAGS)
-utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) $(OESDK_TESTCASE_FLAGS) $(SYSTEMD_LIBS) $(PHOSPHOR_LOGGING_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) $(SDEVENTPLUS_LIBS)
-utest_SOURCES = utest.cpp utest-led-json.cpp utest-serialize.cpp
-utest_LDADD = $(top_builddir)/manager.o $(top_builddir)/serialize.o $(top_builddir)/utils.o
