diff --git a/.gitignore b/.gitignore
index 59ede25..49ec928 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,37 +1,4 @@
-.deps*
-.libs*
-Makefile
-Makefile.in
-aclocal.m4
-ar-lib
-*-libtool
-autom4te.cache*
-compile
-config.*
-!config.json
-configure
-depcomp
-install-sh
-ltmain.sh
-missing
-stamp-h1
-*.la
-*.lo
-*.o
-phosphor-fan-presence-tach
-phosphor-fan-control
-control/fanctl
-fan_zone_defs.cpp
-phosphor-fan-monitor
-phosphor-cooling-type
-fan_monitor_defs.cpp
-test-driver
-*.sw*
-*.log
-*.trs
-*_test
-libtool
-*.service
 build*/
 subprojects/*
 !subprojects/*.wrap
+*.o
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index c51d32a..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-
-SUBDIRS = . test
-
-if WANT_PRESENCE
-SUBDIRS += presence
-endif
-if WANT_CONTROL
-SUBDIRS += control
-endif
-if WANT_COOLING_TYPE
-SUBDIRS += cooling-type
-endif
-if WANT_MONITOR
-SUBDIRS += monitor
-endif
-if WANT_SENSOR_MONITOR
-SUBDIRS += sensor-monitor
-endif
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 52ec8f1..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.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" -exec rm -rf {} +
-        done
-        exit 0
-        ;;
-esac
-
-autoreconf -if
-echo "Run \"./configure \${CONFIGURE_FLAGS} && make\""
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 8b8caad..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,292 +0,0 @@
-# Initialization
-AC_PREREQ([2.69])
-AC_INIT([phosphor-fan-presence], [1.0],
-[https://github.com/openbmc/phosphor-fan-presence/issues])
-AC_LANG([C++])
-AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
-AM_SILENT_RULES([yes])
-
-# Use gcc-ar and gcc-ranlib for static libraries built with -flto
-AC_SUBST([AR], [${ac_tool_prefix}gcc-ar])
-AC_SUBST([RANLIB], [${ac_tool_prefix}gcc-ranlib])
-
-# Checks for programs.
-AC_PROG_CXX
-AM_PROG_AR
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-
-# Python
-AM_PATH_PYTHON([3], [AC_SUBST([PYTHON], [echo "$PYTHON"])],
-[AC_MSG_ERROR([Minimum python version(3) not found])])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX([20],[noext])
-AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])
-
-# Checks for libraries.
-PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
-PKG_CHECK_MODULES([SDEVENTPLUS], [sdeventplus])
-PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging])
-PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
-PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces])
-PKG_CHECK_MODULES([LIBEVDEV], [libevdev])
-PKG_CHECK_MODULES([STDPLUS], [stdplus])
-PKG_CHECK_MODULES([FMT], [fmt])
-
-# Checks for library functions.
-LT_INIT # Required for systemd linking
-
-# 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])
-)
-
-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])])
-
-AC_ARG_ENABLE([json],
-    AS_HELP_STRING([--enable-json], [Use json at runtime to configure fan packages.]))
-AC_ARG_ENABLE([presence],
-    AS_HELP_STRING([--disable-presence], [Disable fan presence package.]))
-AC_ARG_ENABLE([control],
-    AS_HELP_STRING([--disable-control], [Disable fan control package.]))
-AC_ARG_ENABLE([json-control],
-    AS_HELP_STRING([--disable-json-control], [Disable the use of JSON to configure fan control in favor of YAML.]))
-AC_ARG_ENABLE([cooling-type],
-    AS_HELP_STRING([--disable-cooling-type], [Disable cooling-type package.]))
-AC_ARG_ENABLE([monitor],
-    AS_HELP_STRING([--disable-monitor], [Disable monitor]))
-AC_ARG_ENABLE([sensor-monitor],
-    AS_HELP_STRING([--enable-sensor-monitor], [Enable sensor monitor]))
-
-AM_CONDITIONAL([WANT_JSON], [test "x$enable_json" == "xyes"])
-AM_CONDITIONAL([WANT_JSON_CONTROL], [test "x$enable_json" == "xyes" -a "x$enable_json_control" != "xno"])
-AM_CONDITIONAL([WANT_PRESENCE], [test "x$enable_presence" != "xno"])
-AM_CONDITIONAL([WANT_CONTROL], [test "x$enable_control" != "xno"])
-AM_CONDITIONAL([WANT_COOLING_TYPE], [test "x$enable_cooling_type" != "xno"])
-AM_CONDITIONAL([WANT_MONITOR], [test "x$enable_monitor" != "xno"])
-AM_CONDITIONAL([WANT_SENSOR_MONITOR], [test "x$enable_sensor_monitor" == "xyes"])
-
-
-AC_ARG_ENABLE([host-state],
-    AS_HELP_STRING([--enable-host-state], [Enable host state]))
-
-AM_CONDITIONAL([WANT_HOST_STATE], [test "x$enable_host_state" == "xyes"])
-
-AM_COND_IF([WANT_HOST_STATE],
-    [
-        AM_CONDITIONAL(HOST_STATE_ENABLED, true)
-    ],
-    [
-        AM_CONDITIONAL(HOST_STATE_ENABLED, false)
-    ]
-)
-
-# Package specific checks.
-AS_IF([test "x$enable_presence" != "xno"], [
-    # Use runtime(json) config, otherwise default to compile time(yaml) config
-    AM_COND_IF([WANT_JSON],
-    [
-        AC_ARG_VAR(MACHINE, [Machine name to install a particular set of associated config file(s)])
-        AC_CHECK_HEADER(nlohmann/json.hpp, ,
-                [AC_MSG_ERROR([Could not find nlohmann/json.hpp... nlohmann/json package required])])
-        # Set config flag for runtime json usage
-        AC_DEFINE([PRESENCE_USE_JSON], [1], [Fan presence use runtime json configuration])
-        AC_MSG_NOTICE([Fan presence json configuration usage enabled])
-        AC_CONFIG_FILES([presence/service_files/json/phosphor-fan-presence-tach@.service])
-    ],
-    [
-        # Add optional yaml file argument
-        AC_ARG_VAR(PRESENCE_CONFIG, [The fan presence config file.])
-
-       AS_IF([test "x$PRESENCE_CONFIG" == "x"],
-             [PRESENCE_CONFIG="\${top_srcdir}/presence/example/example.yaml"])
-
-       AC_DEFINE_UNQUOTED([PRESENCE_CONFIG], ["$PRESENCE_CONFIG"],
-                          [The fan presence config file.])
-
-       AC_SUBST([PFPGEN],
-                ["$PYTHON \${top_srcdir}/presence/pfpgen.py generate-cpp -i $PRESENCE_CONFIG"])
-
-        AC_CONFIG_FILES([presence/service_files/yaml/phosphor-fan-presence-tach@.service])
-    ])
-
-    AC_ARG_VAR(NUM_PRESENCE_LOG_ENTRIES, [Maximum number of entries in the message log])
-    AS_IF([test "x$NUM_PRESENCE_LOG_ENTRIES" == "x"], [NUM_PRESENCE_LOG_ENTRIES=50])
-    AC_DEFINE_UNQUOTED([NUM_PRESENCE_LOG_ENTRIES], [$NUM_PRESENCE_LOG_ENTRIES],
-                       [Maximum number of entries in the message log])
-
-    AC_CONFIG_FILES([presence/Makefile])
-])
-
-AS_IF([test "x$enable_control" != "xno"], [
-    AC_ARG_VAR(CONTROL_PERSIST_ROOT_PATH, [Root path for persisting zone property states])
-    AS_IF([test "x$CONTROL_PERSIST_ROOT_PATH" == "x"],
-          [CONTROL_PERSIST_ROOT_PATH="/var/lib/phosphor-fan-presence/control"])
-    AC_DEFINE_UNQUOTED([CONTROL_PERSIST_ROOT_PATH], ["$CONTROL_PERSIST_ROOT_PATH"],
-                       [Root path for persisting zone property states])
-
-    # Use runtime(json) config, otherwise default to compile time(yaml) config
-    AM_COND_IF([WANT_JSON_CONTROL],
-    [
-        AC_ARG_VAR(MACHINE, [Machine name to install a particular set of associated config file(s)])
-        AC_CHECK_HEADER(nlohmann/json.hpp, ,
-                [AC_MSG_ERROR([Could not find nlohmann/json.hpp... nlohmann/json package required])])
-        AC_CHECK_HEADER(CLI/CLI.hpp, ,
-                [AC_MSG_ERROR([Could not find CLI/CLI.hpp... cli11 package required])])
-        # Set config flag for runtime json usage
-        AC_DEFINE([CONTROL_USE_JSON], [1], [Fan control use runtime json configuration])
-        AC_MSG_NOTICE([Fan control json configuration usage enabled])
-        AC_CONFIG_FILES([control/service_files/json/phosphor-fan-control@.service])
-    ],
-    [
-        # Add optional yaml file arguments
-        AC_ARG_VAR(FAN_DEF_YAML_FILE,
-                   [The fan definition file to use])
-        AS_IF([test "x$FAN_DEF_YAML_FILE" == "x"],
-              [FAN_DEF_YAML_FILE="\${top_srcdir}/control/example/fans.yaml"])
-        AC_DEFINE_UNQUOTED([FAN_DEF_YAML_FILE], ["$FAN_DEF_YAML_FILE"],
-                           [The fan definition file to use])
-
-        AC_ARG_VAR(FAN_ZONE_YAML_FILE,
-                   [The fan zone definition file to use])
-        AS_IF([test "x$FAN_ZONE_YAML_FILE" == "x"],
-              [FAN_ZONE_YAML_FILE="\${top_srcdir}/control/example/zones.yaml"])
-        AC_DEFINE_UNQUOTED([FAN_ZONE_YAML_FILE], ["$FAN_ZONE_YAML_FILE"],
-                           [The fan zone definition file to use])
-
-        AC_ARG_VAR(ZONE_EVENTS_YAML_FILE,
-                   [The zone events definition file to use])
-        AS_IF([test "x$ZONE_EVENTS_YAML_FILE" == "x"],
-              [ZONE_EVENTS_YAML_FILE="\${top_srcdir}/control/example/events.yaml"])
-        AC_DEFINE_UNQUOTED([ZONE_EVENTS_YAML_FILE], ["$ZONE_EVENTS_YAML_FILE"],
-                           [The zone events definition file to use])
-
-        AC_ARG_VAR(ZONE_CONDITIONS_YAML_FILE,
-                   [The zone conditions definition file to use])
-        AS_IF([test "x$ZONE_CONDITIONS_YAML_FILE" == "x"],
-              [ZONE_CONDITIONS_YAML_FILE="\${top_srcdir}/control/example/zone_conditions.yaml"])
-        AC_DEFINE_UNQUOTED([ZONE_CONDITIONS_YAML_FILE], ["$ZONE_CONDITIONS_YAML_FILE"],
-                           [The zone conditions definition file to use])
-
-        AC_SUBST([GEN_FAN_ZONE_DEFS],
-                 ["$PYTHON \${top_srcdir}/control/gen-fan-zone-defs.py \
-                      -f $FAN_DEF_YAML_FILE \
-                      -z $FAN_ZONE_YAML_FILE \
-                      -e $ZONE_EVENTS_YAML_FILE \
-                      -c $ZONE_CONDITIONS_YAML_FILE"])
-
-        AC_CONFIG_FILES([control/service_files/yaml/phosphor-fan-control-init@.service
-                         control/service_files/yaml/phosphor-fan-control@.service])
-    ])
-    AC_CONFIG_FILES([control/Makefile])
-])
-
-AS_IF([test "x$enable_cooling_type" != "xno"], [
-       AC_CONFIG_FILES([cooling-type/Makefile])
-])
-
-AS_IF([test "x$enable_monitor" != "xno"], [
-    # Use runtime(json) config, otherwise default to compile time(yaml) config
-    AM_COND_IF([WANT_JSON],
-    [
-        AC_ARG_VAR(MACHINE, [Machine name to install a particular set of associated config file(s)])
-        AC_CHECK_HEADER(nlohmann/json.hpp, ,
-                [AC_MSG_ERROR([Could not find nlohmann/json.hpp... nlohmann/json package required])])
-        # Set config flag for runtime json usage
-        AC_DEFINE([MONITOR_USE_JSON], [1], [Fan monitor use runtime json configuration])
-        AC_MSG_NOTICE([Fan monitor json configuration usage enabled])
-        AC_CONFIG_FILES([monitor/service_files/json/phosphor-fan-monitor@.service])
-    ],
-    [
-        AC_ARG_VAR(FAN_MONITOR_YAML_FILE,
-                   [The fan monitor definition file to use])
-        AS_IF([test "x$FAN_MONITOR_YAML_FILE" == "x"],
-              [FAN_MONITOR_YAML_FILE="\${top_srcdir}/monitor/example/monitor.yaml"])
-        AC_DEFINE_UNQUOTED([FAN_MONITOR_YAML_FILE], ["$FAN_MONITOR_YAML_FILE"],
-                           [The fan monitor definition file to use])
-
-        AC_SUBST([GEN_FAN_MONITOR_DEFS],
-                 ["$PYTHON \${top_srcdir}/monitor/gen-fan-monitor-defs.py \
-                  -m $FAN_MONITOR_YAML_FILE"])
-
-        AC_CONFIG_FILES([monitor/service_files/yaml/phosphor-fan-monitor-init@.service
-                         monitor/service_files/yaml/phosphor-fan-monitor@.service])
-    ])
-
-    AC_ARG_VAR(NUM_MONITOR_LOG_ENTRIES, [Maximum number of entries in the message log])
-    AS_IF([test "x$NUM_MONITOR_LOG_ENTRIES" == "x"], [NUM_MONITOR_LOG_ENTRIES=75])
-    AC_DEFINE_UNQUOTED([NUM_MONITOR_LOG_ENTRIES], [$NUM_MONITOR_LOG_ENTRIES],
-                       [Maximum number of entries in the message log])
-
-    AC_CONFIG_FILES([monitor/Makefile])
-])
-
-AS_IF([test "x$enable_sensor_monitor" == "xyes"], [
-
-    AC_ARG_VAR(SENSOR_MONITOR_PERSIST_ROOT_PATH,
-               [Root path for persisting sensor monitor data])
-    AS_IF([test "x$SENSOR_MONITOR_PERSIST_ROOT_PATH" == "x"],
-          [SENSOR_MONITOR_PERSIST_ROOT_PATH="/var/lib/phosphor-fan-presence/sensor-monitor"])
-    AC_DEFINE_UNQUOTED([SENSOR_MONITOR_PERSIST_ROOT_PATH],
-                       ["$SENSOR_MONITOR_PERSIST_ROOT_PATH"],
-                       [Root path for persisting sensor monitor data])
-
-    #Default hard shutdown delay is 23 seconds
-    AC_ARG_VAR(SHUTDOWN_ALARM_HARD_SHUTDOWN_DELAY_MS,
-            [Milliseconds to delay the alarm hard shutdown])
-    AS_IF([test "x$SHUTDOWN_ALARM_HARD_SHUTDOWN_DELAY_MS" == "x"],
-        [SHUTDOWN_ALARM_HARD_SHUTDOWN_DELAY_MS=23000])
-    AC_DEFINE_UNQUOTED([SHUTDOWN_ALARM_HARD_SHUTDOWN_DELAY_MS],
-                       [$SHUTDOWN_ALARM_HARD_SHUTDOWN_DELAY_MS],
-                       [Milliseconds to delay the alarm hard shutdown])
-
-    #Default soft shutdown delay is 15 minutes
-    AC_ARG_VAR(SHUTDOWN_ALARM_SOFT_SHUTDOWN_DELAY_MS,
-               [Milliseconds to delay the alarm soft shutdown])
-    AS_IF([test "x$SHUTDOWN_ALARM_SOFT_SHUTDOWN_DELAY_MS" == "x"],
-        [SHUTDOWN_ALARM_SOFT_SHUTDOWN_DELAY_MS=900000])
-    AC_DEFINE_UNQUOTED([SHUTDOWN_ALARM_SOFT_SHUTDOWN_DELAY_MS],
-                       [$SHUTDOWN_ALARM_SOFT_SHUTDOWN_DELAY_MS],
-                       [Milliseconds to delay the alarm soft shutdown])
-
-    AC_CONFIG_FILES([sensor-monitor/Makefile sensor-monitor/service_files/sensor-monitor.service])
-])
-
-eval "eval BINDIR=$bindir"
-AC_SUBST([BINDIR])
-
-
-# Create configured output
-AC_CONFIG_FILES([Makefile test/Makefile presence/test/Makefile monitor/test/Makefile])
-AC_OUTPUT
diff --git a/control/Makefile.am b/control/Makefile.am
deleted file mode 100644
index f65a1e9..0000000
--- a/control/Makefile.am
+++ /dev/null
@@ -1,113 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir} \
-	-I${srcdir}/json \
-	-I${srcdir}/json/actions \
-	-I${srcdir}/json/triggers
-
-systemdsystemunit_DATA=
-
-if WANT_JSON_CONTROL
-CONFIGSDIR = "${pkgdatadir}/control/"
-CONFIGSLOC = "${srcdir}/config_files/$(MACHINE)/"
-
-EXTRA_DIST = $(CONFIGSLOC)
-
-# No $(MACHINE) given results in installing entire config_files contents
-install-data-hook:
-	for config in `cd $(CONFIGSLOC) && find * -type f`; do \
-		$(MKDIR_P) "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-		$(INSTALL_DATA) "$(CONFIGSLOC)$${config}" "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-	done
-
-uninstall-hook:
-	rm -rf "$(DESTDIR)$(CONFIGSDIR)"
-
-systemdsystemunit_DATA += \
-	service_files/json/phosphor-fan-control@.service
-else
-systemdsystemunit_DATA += \
-	service_files/yaml/phosphor-fan-control@.service \
-	service_files/yaml/phosphor-fan-control-init@.service
-endif
-
-bin_PROGRAMS = \
-	phosphor-fan-control \
-	fanctl
-
-phosphor_fan_control_SOURCES = \
-	main.cpp
-
-phosphor_fan_control_LDADD = \
-	-lstdc++fs \
-	$(SDBUSPLUS_LIBS) \
-	$(SDEVENTPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(FMT_LIBS)
-
-phosphor_fan_control_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	$(SDEVENTPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	-flto
-
-fanctl_SOURCES = \
-	fanctl.cpp
-
-fanctl_LDADD = \
-	$(SDBUSPLUS_LIBS) \
-	$(FMT_LIBS)
-
-fanctl_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	-flto
-
-
-if WANT_JSON_CONTROL
-phosphor_fan_control_SOURCES += \
-	json/manager.cpp \
-	json/profile.cpp \
-	json/fan.cpp \
-	json/zone.cpp \
-	json/dbus_zone.cpp \
-	json/group.cpp \
-	json/event.cpp \
-	json/triggers/timer.cpp \
-	json/triggers/signal.cpp \
-	json/triggers/init.cpp \
-	json/triggers/parameter.cpp \
-	json/actions/default_floor.cpp \
-	json/actions/request_target_base.cpp \
-	json/actions/missing_owner_target.cpp \
-	json/actions/count_state_target.cpp \
-	json/actions/override_fan_target.cpp \
-	json/actions/net_target_increase.cpp \
-	json/actions/net_target_decrease.cpp \
-	json/actions/timer_based_actions.cpp \
-	json/actions/mapped_floor.cpp \
-	json/actions/set_parameter_from_group_max.cpp \
-	json/actions/count_state_floor.cpp \
-	json/actions/get_managed_objects.cpp \
-	json/actions/pcie_card_floors.cpp \
-	json/actions/target_from_group_max.cpp \
-	json/utils/flight_recorder.cpp \
-	json/utils/modifier.cpp \
-	json/utils/pcie_card_metadata.cpp
-else
-phosphor_fan_control_SOURCES += \
-	argument.cpp \
-	fan.cpp \
-	manager.cpp \
-	utility.cpp \
-	preconditions.cpp \
-	actions.cpp \
-	triggers.cpp \
-	zone.cpp
-BUILT_SOURCES = fan_zone_defs.cpp
-nodist_phosphor_fan_control_SOURCES = \
-	fan_zone_defs.cpp
-
-fan_zone_defs.cpp: ${srcdir}/gen-fan-zone-defs.py
-	$(AM_V_GEN)$(GEN_FAN_ZONE_DEFS) > ${builddir}/$@
-endif
diff --git a/control/service_files/json/phosphor-fan-control@.service.in b/control/service_files/json/phosphor-fan-control@.service.in
deleted file mode 100644
index 9b305cd..0000000
--- a/control/service_files/json/phosphor-fan-control@.service.in
+++ /dev/null
@@ -1,6 +0,0 @@
-[Unit]
-Description=Phosphor Fan Control Daemon
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-control
diff --git a/control/service_files/yaml/phosphor-fan-control-init@.service.in b/control/service_files/yaml/phosphor-fan-control-init@.service.in
deleted file mode 100644
index d3563a5..0000000
--- a/control/service_files/yaml/phosphor-fan-control-init@.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Phosphor Fan Control Initialization
-Wants=obmc-power-on@%i.target
-After=obmc-power-on@%i.target
-Conflicts=obmc-chassis-powered-off@%i.target
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-control --init
-SyslogIdentifier=phosphor-fan-control
-
-[Install]
-WantedBy=obmc-chassis-poweron@%i.target
diff --git a/control/service_files/yaml/phosphor-fan-control@.service.in b/control/service_files/yaml/phosphor-fan-control@.service.in
deleted file mode 100644
index 9f7e73a..0000000
--- a/control/service_files/yaml/phosphor-fan-control@.service.in
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Phosphor Fan Control Daemon
-Conflicts=obmc-chassis-powered-off@%i.target
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-control --control
-SyslogIdentifier=phosphor-fan-control
-
-[Install]
-RequiredBy=obmc-fan-control-ready@%i.target
diff --git a/cooling-type/Makefile.am b/cooling-type/Makefile.am
deleted file mode 100644
index b39f80e..0000000
--- a/cooling-type/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir}
-
-bin_PROGRAMS = \
-	phosphor-cooling-type
-
-phosphor_cooling_type_SOURCES = \
-	main.cpp \
-	argument.cpp \
-	cooling_type.cpp
-
-phosphor_cooling_type_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	$(LIBEVDEV_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	-flto
-
-phosphor_cooling_type_LDADD = \
-	$(SDBUSPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	$(LIBEVDEV_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(FMT_LIBS)
-
-# vim: tabstop=8 noexpandtab
diff --git a/evdevpp/test/Makefile.am b/evdevpp/test/Makefile.am
deleted file mode 100644
index 321721a..0000000
--- a/evdevpp/test/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-AM_CPPFLAGS = -iquote$(top_srcdir)
-gtest_cflags = $(PTHREAD_CFLAGS)
-gtest_ldadd = -lgtest -lgtest_main -lgmock $(PTHREAD_LIBS)
-
-check_PROGRAMS =
-noinst_PROGRAMS =
-
-TESTS = $(check_PROGRAMS)
-
-noinst_PROGRAMS += evmon
-evmon_SOURCES = \
-	evmon.cpp
-evmon_CXXFLAGS = \
-	$(LIBEVDEV_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	$(SDBUSPLUS_CFLAGS) \
-	$(SYSTEMD_CFLAGS)
-evmon_LDFLAGS = \
-	$(OESDK_TESTCASE_FLAGS)
-evmon_LDADD = \
-	$(LIBEVDEV_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	$(SDBUSPLUS_LIBS) \
-	$(SYSTEMD_LIBS)
diff --git a/monitor/Makefile.am b/monitor/Makefile.am
deleted file mode 100644
index b815fcd..0000000
--- a/monitor/Makefile.am
+++ /dev/null
@@ -1,73 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir}
-
-bin_PROGRAMS = \
-	phosphor-fan-monitor
-
-systemdsystemunit_DATA=
-
-if WANT_JSON
-CONFIGSDIR = "${pkgdatadir}/monitor/"
-CONFIGSLOC = "${srcdir}/config_files/$(MACHINE)/"
-
-EXTRA_DIST = $(CONFIGSLOC)
-
-# No $(MACHINE) given results in installing entire config_files contents
-install-data-hook:
-	for config in `cd $(CONFIGSLOC) && find * -type f`; do \
-		$(MKDIR_P) "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-		$(INSTALL_DATA) "$(CONFIGSLOC)$${config}" "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-	done
-
-uninstall-hook:
-	rm -rf "$(DESTDIR)$(CONFIGSDIR)"
-
-systemdsystemunit_DATA += \
-	service_files/json/phosphor-fan-monitor@.service
-else
-systemdsystemunit_DATA += \
-	service_files/yaml/phosphor-fan-monitor@.service \
-	service_files/yaml/phosphor-fan-monitor-init@.service
-endif
-
-phosphor_fan_monitor_SOURCES = \
-	argument.cpp \
-	fan.cpp \
-	fan_error.cpp \
-	../hwmon_ffdc.cpp \
-	power_interface.cpp \
-	logging.cpp \
-	main.cpp \
-	tach_sensor.cpp \
-	conditions.cpp \
-	system.cpp
-
-phosphor_fan_monitor_LDADD = \
-	$(SDBUSPLUS_LIBS) \
-	$(SDEVENTPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	-lstdc++fs \
-	$(STDPLUS_LIBS) \
-	$(FMT_LIBS)
-
-phosphor_fan_monitor_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	$(SDEVENTPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	-flto \
-	$(STDPLUS_CFLAGS)
-
-if WANT_JSON
-phosphor_fan_monitor_SOURCES += json_parser.cpp
-else
-BUILT_SOURCES = fan_monitor_defs.cpp
-nodist_phosphor_fan_monitor_SOURCES = \
-	fan_monitor_defs.cpp
-
-fan_monitor_defs.cpp: ${srcdir}/gen-fan-monitor-defs.py
-	$(AM_V_GEN)$(GEN_FAN_MONITOR_DEFS) > ${builddir}/$@
-endif
-
-SUBDIRS = test
diff --git a/monitor/service_files/json/phosphor-fan-monitor@.service.in b/monitor/service_files/json/phosphor-fan-monitor@.service.in
deleted file mode 100644
index 0975784..0000000
--- a/monitor/service_files/json/phosphor-fan-monitor@.service.in
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Phosphor Fan Monitor Daemon
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-monitor
diff --git a/monitor/service_files/yaml/phosphor-fan-monitor-init@.service.in b/monitor/service_files/yaml/phosphor-fan-monitor-init@.service.in
deleted file mode 100644
index 8fba6e3..0000000
--- a/monitor/service_files/yaml/phosphor-fan-monitor-init@.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Phosphor Fan Monitor Initialization
-Wants=obmc-power-on@%i.target
-After=obmc-power-on@%i.target
-Conflicts=obmc-chassis-powered-off@%i.target
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-monitor --init
-SyslogIdentifier=phosphor-fan-monitor
-
-[Install]
-WantedBy=obmc-chassis-poweron@%i.target
diff --git a/monitor/service_files/yaml/phosphor-fan-monitor@.service.in b/monitor/service_files/yaml/phosphor-fan-monitor@.service.in
deleted file mode 100644
index e57844a..0000000
--- a/monitor/service_files/yaml/phosphor-fan-monitor@.service.in
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Phosphor Fan Monitor Daemon
-Conflicts=obmc-chassis-powered-off@%i.target
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-monitor --monitor
-SyslogIdentifier=phosphor-fan-monitor
-
-[Install]
-RequiredBy=obmc-fan-control-ready@%i.target
diff --git a/monitor/test/Makefile.am b/monitor/test/Makefile.am
deleted file mode 100644
index e6d0f9b..0000000
--- a/monitor/test/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-AM_CPPFLAGS = -iquote$(top_srcdir)
-gtest_cflags = $(PTHREAD_CFLAGS)
-gtest_ldadd = -lgtest -lgtest_main -lgmock $(PTHREAD_LIBS)
-
-check_PROGRAMS =
-
-TESTS = $(check_PROGRAMS)
-
-check_PROGRAMS += \
-	power_off_cause_test \
-	power_off_rule_test
-
-power_off_cause_test_SOURCES = \
-	power_off_cause_test.cpp
-power_off_cause_test_CXXFLAGS = \
-	$(gtest_cflags)
-power_off_cause_test_LDFLAGS = \
-	$(OESDK_TESTCASE_FLAGS)
-power_off_cause_test_LDADD = \
-	$(gtest_ldadd)
-
-power_off_rule_test_SOURCES = \
-	power_off_rule_test.cpp \
-	../conditions.cpp \
-	../json_parser.cpp \
-	../logging.cpp
-power_off_rule_test_CXXFLAGS = \
-	$(gtest_cflags)
-power_off_rule_test_LDFLAGS = \
-	$(OESDK_TESTCASE_FLAGS)
-power_off_rule_test_LDADD = \
-	$(gtest_ldadd) \
-	$(FMT_LIBS) \
-	$(SDBUSPLUS_LIBS) \
-	$(SDEVENTPLUS_LIBS)
diff --git a/presence/Makefile.am b/presence/Makefile.am
deleted file mode 100644
index 136c6a8..0000000
--- a/presence/Makefile.am
+++ /dev/null
@@ -1,70 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir}
-
-bin_PROGRAMS = \
-	phosphor-fan-presence-tach
-
-systemdsystemunit_DATA=
-
-if WANT_JSON
-CONFIGSDIR = "${pkgdatadir}/presence/"
-CONFIGSLOC = "${srcdir}/config_files/$(MACHINE)/"
-
-EXTRA_DIST = $(CONFIGSLOC)
-
-# No $(MACHINE) given results in installing entire config_files contents
-install-data-hook:
-	for config in `cd $(CONFIGSLOC) && find * -type f`; do \
-		$(MKDIR_P) "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-		$(INSTALL_DATA) "$(CONFIGSLOC)$${config}" "$(DESTDIR)$(CONFIGSDIR)`dirname $${config}`"; \
-	done
-
-uninstall-hook:
-	rm -rf "$(DESTDIR)$(CONFIGSDIR)"
-
-systemdsystemunit_DATA += \
-	service_files/json/phosphor-fan-presence-tach@.service
-else
-systemdsystemunit_DATA += \
-	service_files/yaml/phosphor-fan-presence-tach@.service
-endif
-
-phosphor_fan_presence_tach_SOURCES = \
-	anyof.cpp \
-	error_reporter.cpp \
-	fallback.cpp \
-	fan.cpp \
-	get_power_state.cpp \
-	gpio.cpp \
-	logging.cpp \
-	psensor.cpp \
-	tach.cpp \
-	tach_detect.cpp \
-	json_parser.cpp
-
-phosphor_fan_presence_tach_LDADD = \
-	$(SDBUSPLUS_LIBS) \
-	$(SDEVENTPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(LIBEVDEV_LIBS) \
-	$(STDPLUS_LIBS) \
-	$(FMT_LIBS)
-
-phosphor_fan_presence_tach_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	$(SDEVENTPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	$(LIBEVDEV_CFLAGS) \
-	-flto \
-	$(STDPLUS_CFLAGS)
-
-if !WANT_JSON
-BUILT_SOURCES = generated.hpp
-TEMPLATES = \
-	templates/generated.mako.hpp
-
-generated.hpp: $(TEMPLATES) ${srcdir}/pfpgen.py $(PRESENCE_CONFIG)
-	$(AM_V_GEN)$(PFPGEN) > $(builddir)/$@
-endif
diff --git a/presence/service_files/json/phosphor-fan-presence-tach@.service.in b/presence/service_files/json/phosphor-fan-presence-tach@.service.in
deleted file mode 100644
index 78b90cb..0000000
--- a/presence/service_files/json/phosphor-fan-presence-tach@.service.in
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Phosphor Fan Presence Tach Daemon
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-presence-tach
diff --git a/presence/service_files/yaml/phosphor-fan-presence-tach@.service.in b/presence/service_files/yaml/phosphor-fan-presence-tach@.service.in
deleted file mode 100644
index 6afaf74..0000000
--- a/presence/service_files/yaml/phosphor-fan-presence-tach@.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Phosphor Fan Presence Tach Daemon
-Wants=obmc-power-on@%i.target
-After=obmc-power-on@%i.target
-Conflicts=obmc-chassis-powered-off@%i.target
-
-[Service]
-Restart=on-failure
-ExecStart=@BINDIR@/phosphor-fan-presence-tach
-SyslogIdentifier=phosphor-fan-presence-tach
-
-[Install]
-RequiredBy=obmc-chassis-poweron@%i.target
diff --git a/presence/test/Makefile.am b/presence/test/Makefile.am
deleted file mode 100644
index e4fe930..0000000
--- a/presence/test/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-AM_CPPFLAGS = -iquote$(top_srcdir)
-gtest_cflags = $(PTHREAD_CFLAGS)
-gtest_ldadd = -lgtest -lgtest_main -lgmock $(PTHREAD_LIBS)
-
-check_PROGRAMS =
-
-TESTS = $(check_PROGRAMS)
-
-check_PROGRAMS += fallbacktest
-fallbacktest_SOURCES = \
-	fallbacktest.cpp
-fallbacktest_CXXFLAGS = \
-	$(gtest_cflags) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	$(SDBUSPLUS_CFLAGS)
-fallbacktest_LDFLAGS = \
-	$(OESDK_TESTCASE_FLAGS)
-fallbacktest_LDADD = \
-	${builddir}/../fallback.o \
-	$(gtest_ldadd) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(SDBUSPLUS_LIBS)
diff --git a/sensor-monitor/Makefile.am b/sensor-monitor/Makefile.am
deleted file mode 100644
index 16333ab..0000000
--- a/sensor-monitor/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-AM_CPPFLAGS = -iquote ${top_srcdir}
-
-bin_PROGRAMS = \
-	sensor-monitor
-
-systemdsystemunit_DATA = \
-	service_files/sensor-monitor.service
-
-sensor_monitor_SOURCES = \
-    shutdown_alarm_monitor.cpp \
-    threshold_alarm_logger.cpp \
-	main.cpp
-
-sensor_monitor_LDADD = \
-	$(SDBUSPLUS_LIBS) \
-	$(SDEVENTPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	-lstdc++fs \
-	$(FMT_LIBS)
-
-sensor_monitor_CXXFLAGS = \
-	$(SDBUSPLUS_CFLAGS) \
-	$(SDEVENTPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	-flto
-
-if HOST_STATE_ENABLED
-ENABLE_HOST_STATE = 1
-sensor_monitor_CXXFLAGS+=-DENABLE_HOST_STATE
-endif
diff --git a/sensor-monitor/service_files/sensor-monitor.service.in b/sensor-monitor/service_files/sensor-monitor.service.in
deleted file mode 100644
index 6d19e4e..0000000
--- a/sensor-monitor/service_files/sensor-monitor.service.in
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Sensor Monitor
-Wants=xyz.openbmc_project.Logging.service
-After=xyz.openbmc_project.Logging.service
-Wants=obmc-mapper.target
-After=obmc-mapper.target
-
-[Service]
-Restart=always
-ExecStart=@BINDIR@/sensor-monitor
-
-[Install]
-WantedBy=multi-user.target
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index ac61577..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-AM_CPPFLAGS = -iquote$(top_srcdir)
-gtest_cflags = $(PTHREAD_CFLAGS)
-gtest_ldadd = -lgtest -lgtest_main -lgmock $(PTHREAD_LIBS)
-
-check_PROGRAMS = logger_test
-
-TESTS = $(check_PROGRAMS)
-
-logger_test_SOURCES = \
-	logger_test.cpp
-logger_test_CXXFLAGS = \
-	$(gtest_cflags) \
-	${PHOSPHOR_DBUS_INTERFACES_CFLAGS} \
-	$(SDBUSPLUS_CFLAGS)
-logger_test_LDFLAGS = \
-	$(OESDK_TESTCASE_FLAGS)
-logger_test_LDADD = \
-	$(gtest_ldadd) \
-	${PHOSPHOR_DBUS_INTERFACES_LIBS} \
-	$(SDBUSPLUS_LIBS) \
-	$(FMT_LIBS)
