Add repo specific errors

1. Add Internal.errors.yaml to define repo specific errors
2. Update configure.ac and Makefile.am to generate code from error yamls
3. Add elog-gen.hpp generated by elog-gen.py

Change-Id: I6858f2c9f3c2100ce106d1effe7ad3f340117fec
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/Makefile.am b/Makefile.am
index 57734d1..bf7a559 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,12 +4,20 @@
 
 noinst_LTLIBRARIES = libtimemanager.la
 
+generated_source = xyz/openbmc_project/Time/Internal/error.cpp
+
+BUILT_SOURCES = ${generated_source} \
+				xyz/openbmc_project/Time/Internal/error.hpp
+
+CLEANFILES = ${BUILT_SOURCES}
+
 libtimemanager_la_SOURCES = \
 	epoch_base.cpp \
 	bmc_epoch.cpp \
 	host_epoch.cpp \
 	manager.cpp \
-	utils.cpp
+	utils.cpp \
+	${generated_source}
 
 phosphor_timemanager_SOURCES = \
 	main.cpp
@@ -29,4 +37,12 @@
 
 phosphor_timemanager_LDFLAGS = $(generic_ld_flags)
 
+xyz/openbmc_project/Time/Internal/error.hpp: ${top_srcdir}/xyz/openbmc_project/Time/Internal.errors.yaml
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-header xyz.openbmc_project.Time.Internal > $@
+
+xyz/openbmc_project/Time/Internal/error.cpp: ${top_srcdir}/xyz/openbmc_project/Time/Internal.errors.yaml
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(top_srcdir) error exception-cpp xyz.openbmc_project.Time.Internal> $@
+
 SUBDIRS = . test