Add initial code for IPMI SoftPowerOff functionality

This commit puts a skeleton layout for the IPMI Soft Power Off
functionality.

Change-Id: I7c3ededc9d4038e172d7f6230270ecfe397330e9
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/softoff/Makefile.am b/softoff/Makefile.am
new file mode 100644
index 0000000..66501a5
--- /dev/null
+++ b/softoff/Makefile.am
@@ -0,0 +1,26 @@
+AM_DEFAULT_SOURCE_EXT = .cpp
+AM_CPPFLAGS = -I$(top_srcdir)
+sbin_PROGRAMS = phosphor-softpoweroff
+
+phosphor_softpoweroff_SOURCES = \
+                    softoff.cpp \
+                    mainapp.cpp \
+                    xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.cpp
+
+BUILT_SOURCES = xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.cpp \
+                xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.hpp
+
+nodist_include_HEADERS = xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.hpp
+CLEANFILES = xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.cpp \
+             xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.hpp
+
+phosphor_softpoweroff_LDFLAGS = $(SYSTEMD_LIBS) $(SDBUSPLUS_LIBS)
+phosphor_softpoweroff_CXXFLAGS = $(SYSTEMD_CFLAGS) $(SDBUSPLUS_CFLAGS)
+
+xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.cpp: ${top_srcdir}/xyz/openbmc_project/Ipmi/Internal/SoftPowerOff.interface.yaml
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(top_srcdir) interface server-cpp xyz.openbmc_project.Ipmi.Internal.SoftPowerOff > $@
+
+xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/server.hpp: ${top_srcdir}/xyz/openbmc_project/Ipmi/Internal/SoftPowerOff.interface.yaml
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(top_srcdir) interface server-header xyz.openbmc_project.Ipmi.Internal.SoftPowerOff > $@