diff --git a/.gitignore b/.gitignore
index 89d3696..378eac2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,55 +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
-.dirstamp
-
-# http://www.gnu.org/software/autoconf
-
-/autom4te.cache
-/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
-*.trs
-/config.h
-/config.h.in~
-*.log
-/config.status
-/phosphor-version-software-manager
-/phosphor-download-manager
-/phosphor-image-updater
-/phosphor-sync-software-manager
-server.hpp
-server.cpp
-error.hpp
-error.cpp
-Makefile
-.deps
-/test/utest
-*-libtool
+build
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100755
index fa74dc8..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,129 +0,0 @@
-AM_DEFAULT_SOURCE_EXT = .cpp
-
-# Build these headers, don't install them
-noinst_HEADERS = \
-	download_manager.hpp \
-	watch.hpp \
-	version.hpp \
-	images.hpp \
-	image_manager.hpp \
-	item_updater.hpp \
-	activation.hpp \
-	flash.hpp \
-	item_updater_helper.hpp \
-	utils.hpp
-
-bin_PROGRAMS = \
-	phosphor-version-software-manager \
-	phosphor-download-manager \
-	phosphor-image-updater
-
-dist_bin_SCRIPTS = \
-	obmc-flash-bmc
-
-phosphor_version_software_manager_SOURCES = \
-	image_manager_main.cpp \
-	watch.cpp \
-	version.cpp \
-	image_manager.cpp
-
-BUILT_SOURCES = \
-	xyz/openbmc_project/Software/Image/error.cpp \
-	xyz/openbmc_project/Software/Image/error.hpp
-
-CLEANFILES = ${BUILT_SOURCES}
-
-phosphor_download_manager_SOURCES = \
-	download_manager.cpp \
-	download_manager_main.cpp
-
-phosphor_image_updater_SOURCES = \
-	activation.cpp \
-	version.cpp \
-	serialize.cpp \
-	item_updater.cpp \
-	item_updater_main.cpp \
-	utils.cpp
-
-if HAVE_SYSTEMD
-systemdsystemunit_DATA = \
-	obmc-flash-bmc-setenv@.service \
-	usr-local.mount \
-	xyz.openbmc_project.Software.BMC.Updater.service \
-	xyz.openbmc_project.Software.Download.service \
-	xyz.openbmc_project.Software.Sync.service \
-	xyz.openbmc_project.Software.Version.service \
-	reboot-guard-disable.service \
-	reboot-guard-enable.service \
-	force-reboot.service
-
-if HOST_BIOS_UPGRADE
-systemdsystemunit_DATA += obmc-flash-host-bios@.service
-endif
-
-tmpfilesdir=${exec_prefix}/lib/tmpfiles.d/
-dist_tmpfiles_DATA = \
-	software.conf
-endif
-
-if UBIFS_LAYOUT
-include ubi/Makefile.am.include
-else
-include static/Makefile.am.include
-endif
-
-if WANT_SIGNATURE_VERIFY_BUILD
-noinst_HEADERS += \
-	image_verify.hpp \
-	openssl_alloc.hpp
-phosphor_image_updater_SOURCES += \
-	image_verify.cpp \
-	openssl_alloc.cpp
-endif
-
-if WANT_SYNC
-noinst_HEADERS += \
-	sync_manager.hpp \
-	sync_watch.hpp
-bin_PROGRAMS += phosphor-sync-software-manager
-phosphor_sync_software_manager_SOURCES = \
-	sync_manager.cpp \
-	sync_watch.cpp \
-	sync_manager_main.cpp
-phosphor_sync_software_manager_CXXFLAGS = $(generic_cxxflags)
-phosphor_sync_software_manager_LDFLAGS = $(generic_ldflags)
-dist_sysconf_DATA = \
-	synclist
-endif
-
-generic_cxxflags = \
-	$(SYSTEMD_CFLAGS) \
-	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-	$(SDBUSPLUS_CFLAGS) \
-	$(PHOSPHOR_LOGGING_CFLAGS) \
-	-flto
-generic_ldflags = \
-	$(SYSTEMD_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
-	$(SDBUSPLUS_LIBS) \
-	$(PHOSPHOR_LOGGING_LIBS) \
-	-lstdc++fs \
-	-lssl \
-	-lcrypto
-
-xyz/openbmc_project/Software/Image/error.hpp: ${top_srcdir}/xyz/openbmc_project/Software/Image.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(srcdir) error exception-header xyz.openbmc_project.Software.Image > $@
-
-xyz/openbmc_project/Software/Image/error.cpp: ${top_srcdir}/xyz/openbmc_project/Software/Image.errors.yaml
-	@mkdir -p `dirname $@`
-	$(SDBUSPLUSPLUS) -r $(srcdir) error exception-cpp xyz.openbmc_project.Software.Image > $@
-
-phosphor_version_software_manager_CXXFLAGS = $(generic_cxxflags)
-phosphor_version_software_manager_LDFLAGS = $(generic_ldflags)
-phosphor_download_manager_CXXFLAGS = $(generic_cxxflags)
-phosphor_download_manager_LDFLAGS = $(generic_ldflags)
-phosphor_image_updater_CXXFLAGS = $(generic_cxxflags)
-phosphor_image_updater_LDFLAGS = $(generic_ldflags)
-
-SUBDIRS = test
diff --git a/README.md b/README.md
index 687af8b..c319223 100644
--- a/README.md
+++ b/README.md
@@ -4,12 +4,9 @@
 [Software Architecture](https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Software/README.md)
 
 ## To Build
-```
 To build this package, do the following steps:
 
-    1. ./bootstrap.sh
-    2. ./configure ${CONFIGURE_FLAGS}
-    3. make
+1. `meson build`
+2. `ninja -C build`
 
-To clean the repository run `./bootstrap.sh clean`.
-```
+To clean the repository run `rm -r build`.
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 9941c73..0000000
--- a/bootstrap.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -xe
-
-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"'
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
deleted file mode 100755
index cf3e30b..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,202 +0,0 @@
-AC_PREREQ([2.69])
-AC_INIT([phosphor-bmc-code-mgmt], [1.0], [https://github.com/openbmc/phosphor-bmc-code-mgmt/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/sets the install variable to be used
-AC_PROG_MAKE_SET
-
-# Check for libraries
-PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
-PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces])
-PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
-PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging])
-# Check for sdbus++
-AC_PATH_PROG([SDBUSPLUSPLUS], [sdbus++])
-AS_IF([test "x$SDBUSPLUSPLUS" == "x"],
-    AC_MSG_ERROR(["Requires sdbus++"]))
-
-# Checks for library functions
-LT_INIT # Required for systemd linking
-
-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.
-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 typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
-AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])
-
-AC_DEFINE(ACTIVATION_FWD_ASSOCIATION, "inventory", [The name of the activation's forward association.])
-AC_DEFINE(ACTIVATION_REV_ASSOCIATION, "activation", [The name of the activation's reverse association.])
-AC_DEFINE(INVENTORY_PATH, "/xyz/openbmc_project/inventory/",
-    [The inventory path root.])
-AC_DEFINE(BMC_INVENTORY_INTERFACE, "xyz.openbmc_project.Inventory.Item.Bmc",
-    [The BMC inventory interface])
-
-AC_DEFINE(ACTIVE_FWD_ASSOCIATION, "active", [The name of the active's forward association.])
-AC_DEFINE(ACTIVE_REV_ASSOCIATION, "software_version", [The name of the active's reverse association.])
-
-AC_DEFINE(FUNCTIONAL_FWD_ASSOCIATION, "functional", [The name of the functional forward association.])
-AC_DEFINE(FUNCTIONAL_REV_ASSOCIATION, "software_version", [The functional reverse association.])
-
-AC_DEFINE(UPDATEABLE_FWD_ASSOCIATION, "updateable", [The name of the updateable forward association.])
-AC_DEFINE(UPDATEABLE_REV_ASSOCIATION, "software_version", [The updateable reverse association.])
-
-AC_ARG_VAR(VERSION_BUSNAME, [The Dbus busname to own])
-AS_IF([test "x$VERSION_BUSNAME" == "x"], [VERSION_BUSNAME="xyz.openbmc_project.Software.Version"])
-AC_DEFINE_UNQUOTED([VERSION_BUSNAME], ["$VERSION_BUSNAME"], [The DBus busname to own])
-
-AC_ARG_VAR(SOFTWARE_OBJPATH, [The version software manager Dbus root])
-AS_IF([test "x$SOFTWARE_OBJPATH" == "x"], [SOFTWARE_OBJPATH="/xyz/openbmc_project/software"])
-AC_DEFINE_UNQUOTED([SOFTWARE_OBJPATH], ["$SOFTWARE_OBJPATH"], [The version software manager Dbus root])
-
-AC_ARG_VAR(DOWNLOAD_BUSNAME, [The Dbus busname to own])
-AS_IF([test "x$DOWNLOAD_BUSNAME" == "x"],
-    [DOWNLOAD_BUSNAME="xyz.openbmc_project.Software.Download"])
-AC_DEFINE_UNQUOTED([DOWNLOAD_BUSNAME], ["$DOWNLOAD_BUSNAME"], [The DBus busname to own])
-
-AC_DEFINE([MAPPER_BUSNAME], ["xyz.openbmc_project.ObjectMapper"], [Object mapper bus name])
-AC_DEFINE([MAPPER_INTERFACE], ["xyz.openbmc_project.ObjectMapper"], [Object mapper interface])
-AC_DEFINE([MAPPER_PATH], ["/xyz/openbmc_project/object_mapper"], [Object mapper DBUS path])
-
-AC_DEFINE(VERSION_IFACE, "xyz.openbmc_project.Software.Version",
-    [The software version manager interface])
-AC_DEFINE(FILEPATH_IFACE, "xyz.openbmc_project.Common.FilePath",
-    [The common file path interface])
-AC_DEFINE(OS_RELEASE_FILE, "/etc/os-release",
-    [The name of the BMC table of contents file])
-AC_DEFINE(ALT_RWFS, "/media/alt/var/persist",
-    [The path of the alt rwfs overlay])
-AC_DEFINE(PERSIST_DIR, "/var/lib/phosphor-bmc-code-mgmt/",
-    [The dir where activation data is stored in files])
-AC_DEFINE(SYSTEMD_BUSNAME, "org.freedesktop.systemd1",
-    [The systemd busname])
-AC_DEFINE(SYSTEMD_PATH, "/org/freedesktop/systemd1",
-    [The systemd path])
-AC_DEFINE(SYSTEMD_INTERFACE, "org.freedesktop.systemd1.Manager",
-    [The systemd interface])
-
-AC_ARG_VAR(MEDIA_DIR, [The base dir where all RO partitions are mounted])
-AS_IF([test "x$MEDIA_DIR" == "x"], [MEDIA_DIR="/run/media"])
-AC_DEFINE_UNQUOTED([MEDIA_DIR], ["$MEDIA_DIR"], [The base dir where all RO partitions are mounted])
-
-AC_DEFINE_UNQUOTED(BMC_ROFS_PREFIX, "$MEDIA_DIR/rofs-",
-    [The prefix path for the versioned read-only bmc partitions])
-
-AC_ARG_VAR(IMG_UPLOAD_DIR, [Directory where downloaded software images are placed])
-AS_IF([test "x$IMG_UPLOAD_DIR" == "x"], [IMG_UPLOAD_DIR="/tmp/images"])
-AC_DEFINE_UNQUOTED([IMG_UPLOAD_DIR], ["$IMG_UPLOAD_DIR"], [Directory where downloaded software images are placed])
-
-AC_ARG_VAR(SYNC_LIST_FILE_NAME, [The name of the sync list file])
-AS_IF([test "x$SYNC_LIST_FILE_NAME" == "x"], [SYNC_LIST_FILE_NAME="synclist"])
-AC_DEFINE_UNQUOTED([SYNC_LIST_FILE_NAME], ["$SYNC_LIST_FILE_NAME"], [The name of the sync list file])
-
-AC_ARG_VAR(SYNC_LIST_DIR_PATH, [The path to the sync list file directory])
-AS_IF([test "x$SYNC_LIST_DIR_PATH" == "x"], [SYNC_LIST_DIR_PATH="/etc/"])
-AC_DEFINE_UNQUOTED([SYNC_LIST_DIR_PATH], ["$SYNC_LIST_DIR_PATH"], [The path to the sync list file directory])
-
-AC_ARG_VAR(MANIFEST_FILE_NAME, [The name of the MANIFEST file])
-AS_IF([test "x$MANIFEST_FILE_NAME" == "x"], [MANIFEST_FILE_NAME="MANIFEST"])
-AC_DEFINE_UNQUOTED([MANIFEST_FILE_NAME], ["$MANIFEST_FILE_NAME"], [The name of the MANIFEST file])
-
-AC_ARG_VAR(PUBLICKEY_FILE_NAME, [The name of the public key file])
-AS_IF([test "x$PUBLICKEY_FILE_NAME" == "x"], [PUBLICKEY_FILE_NAME="publickey"])
-AC_DEFINE_UNQUOTED([PUBLICKEY_FILE_NAME], ["$PUBLICKEY_FILE_NAME"], [The name of the public key file])
-
-AC_ARG_VAR(HASH_FILE_NAME, [Hash file name])
-AS_IF([test "x$HASH_FILE_NAME" == "x"], [HASH_FILE_NAME="hashfunc"])
-AC_DEFINE_UNQUOTED([HASH_FILE_NAME], ["$HASH_FILE_NAME"], [The name of the hash file])
-
-AC_ARG_VAR(SIGNED_IMAGE_CONF_PATH, [Path of public key and hash function files])
-AS_IF([test "x$SIGNED_IMAGE_CONF_PATH" == "x"], [SIGNED_IMAGE_CONF_PATH="/etc/activationdata/"])
-AC_DEFINE_UNQUOTED([SIGNED_IMAGE_CONF_PATH], ["$SIGNED_IMAGE_CONF_PATH"], [Path of public key and hash function files])
-
-AC_ARG_VAR(SIGNATURE_FILE_EXT, [The extension of the Signature file])
-AS_IF([test "x$SIGNATURE_FILE_EXT" == "x"], [SIGNATURE_FILE_EXT=".sig"])
-AC_DEFINE_UNQUOTED([SIGNATURE_FILE_EXT], ["$SIGNATURE_FILE_EXT"], [The extension of the Signature file])
-
-AC_ARG_VAR(ACTIVE_BMC_MAX_ALLOWED, [The maximum allowed active BMC versions])
-AS_IF([test "x$ACTIVE_BMC_MAX_ALLOWED" == "x"], [ACTIVE_BMC_MAX_ALLOWED=1])
-AC_DEFINE_UNQUOTED([ACTIVE_BMC_MAX_ALLOWED], [$ACTIVE_BMC_MAX_ALLOWED],
-    [The maximum allowed active BMC versions])
-
-# setup signature verification
-AC_ARG_ENABLE([verify_signature],
-    AS_HELP_STRING([--enable-verify_signature], [Enable image signature validation.]))
-AS_IF([test "x$enable_verify_signature" == "xyes"], \
-    [AC_DEFINE([WANT_SIGNATURE_VERIFY],[],[Enable image signature validation.])])
-AM_CONDITIONAL([WANT_SIGNATURE_VERIFY_BUILD], [test "x$enable_verify_signature" == "xyes"])
-
-AC_DEFINE(BUSNAME_UPDATER, "xyz.openbmc_project.Software.BMC.Updater",
-    [The item updater DBus busname to own.])
-
-# setup sync of filesystem files
-AC_ARG_ENABLE([sync_bmc_files],
-    AS_HELP_STRING([--enable-sync_bmc_files], [Enable sync of filesystem files.]))
-AS_IF([test "x$enable_sync_bmc_files" == "xyes"], \
-    [AC_DEFINE([WANT_SYNC],[],[Enable sync of filesystem files.])])
-AM_CONDITIONAL([WANT_SYNC], [test "x$enable_sync_bmc_files" == "xyes"])
-
-# setup ubifs layout support
-AC_ARG_ENABLE([ubifs_layout],
-    AS_HELP_STRING([--enable-ubifs_layout], [Enable ubifs support.]))
-AS_IF([test "x$enable_ubifs_layout" == "xyes"], \
-    [AC_DEFINE([UBIFS_LAYOUT],[],[Enable ubifs support.])])
-AM_CONDITIONAL([UBIFS_LAYOUT], [test "x$enable_ubifs_layout" == "xyes"])
-
-# setup host bios upgrade support
-AC_ARG_ENABLE([host_bios_upgrade],
-    AS_HELP_STRING([--enable-host_bios_upgrade], [Enable host bios upgrade support.]))
-AS_IF([test "x$enable_host_bios_upgrade" == "xyes"], \
-    [AC_DEFINE([HOST_BIOS_UPGRADE],[],[Enable host bios upgrade support.])])
-AM_CONDITIONAL([HOST_BIOS_UPGRADE], [test "x$enable_host_bios_upgrade" == "xyes"])
-
-# Check for header files.
-AC_CHECK_HEADER(systemd/sd-bus.h, ,[AC_MSG_ERROR([Could not find systemd/sd-bus.h...systemd development package required])])
-AC_CHECK_HEADER(sdbusplus/server.hpp, ,[AC_MSG_ERROR([Could not find sdbusplus/server.hpp...openbmc/sdbusplus package required])])
-
-AC_CONFIG_FILES([Makefile test/Makefile])
-AC_OUTPUT
diff --git a/static/Makefile.am.include b/static/Makefile.am.include
deleted file mode 100644
index 1a5128a..0000000
--- a/static/Makefile.am.include
+++ /dev/null
@@ -1,3 +0,0 @@
-phosphor_image_updater_SOURCES += \
-	%reldir%/flash.cpp \
-	%reldir%/item_updater_helper.cpp
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100755
index f0a94c6..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir)
-
-# gtest unit tests which run during a 'make check'
-check_PROGRAMS = utest
-
-# Run all 'check' test programs
-TESTS = $(check_PROGRAMS)
-
-# Build/add utest to test suite
-utest_CPPFLAGS = -Igtest $(GTEST_CPPFLAGS) $(AM_CPPFLAGS)
-utest_CXXFLAGS = $(PTHREAD_CFLAGS) $(PHOSPHOR_LOGGING_CFLAGS) \
-	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
-	-DUBIFS_LAYOUT
-utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS) $(OESDK_TESTCASE_FLAGS) \
-	$(PHOSPHOR_LOGGING_LIBS) -lstdc++fs -lssl -lcrypto
-
-utest_SOURCES = utest.cpp
-
-utest_LDADD = \
-        $(top_builddir)/image_verify.cpp \
-        $(top_builddir)/version.cpp
diff --git a/test/README.md b/test/README.md
index 6e62971..b69b84f 100755
--- a/test/README.md
+++ b/test/README.md
@@ -3,18 +3,15 @@
 * When using an SDK - make sure it has been built
   for an x86 machine.
 
-- First, generate the configure script with a call
-  to ./bootstrap.sh.
-- Once configure script generated, configure with flags
-  "./configure ${CONFIGURE_FLAGS} --enable-oe-sdk"
-- Be sure to include --enable-oe-sdk or the tests
-  will not run properly.
-- Lastly "make check" will build the application
-  source along with unit tests.  Make check also
-  runs the unit tests automatically.
+- Run the following commands:
+
+  ```
+  meson -Doe-sdk=enabled -Dtests=enabled build
+  ninja -C build test
+  ```
 
 * WHEN RUNNING UTEST remember to take advantage
-  of the gtest capabilities. "./utest --help"
+  of the gtest capabilities. "./build/test/utest --help"
   - --gtest_repeat=[COUNT]
   - --gtest_shuffle
   - --gtest_random_seed=[NUMBER]
diff --git a/ubi/Makefile.am.include b/ubi/Makefile.am.include
deleted file mode 100644
index 173251c..0000000
--- a/ubi/Makefile.am.include
+++ /dev/null
@@ -1,15 +0,0 @@
-phosphor_image_updater_SOURCES += \
-	%reldir%/flash.cpp \
-	%reldir%/item_updater_helper.cpp
-
-if HAVE_SYSTEMD
-systemdsystemunit_DATA += \
-	%reldir%/obmc-flash-bmc-cleanup.service \
-	%reldir%/obmc-flash-bmc-mirroruboot.service \
-	%reldir%/obmc-flash-bmc-ubiremount.service \
-	%reldir%/obmc-flash-bmc-ubiro@.service \
-	%reldir%/obmc-flash-bmc-ubiro-remove@.service \
-	%reldir%/obmc-flash-bmc-ubirw.service \
-	%reldir%/obmc-flash-bmc-ubirw-remove.service \
-	%reldir%/obmc-flash-bmc-updateubootvars@.service
-endif
