build: Add targets for generated files
Add a target for generated.cpp.
Add targets for extra interfaces.
Remove example configure option - this is now driven
by the input yaml filesystem.
Add YAML_PATH autoconf variable.
Change-Id: Ieff734948088d3252e346a8dcc0e1dd6caf83333
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/Makefile.am b/Makefile.am
index 30353a7..21b8f38 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,3 +1,8 @@
+EXTRAIFACES_C=@EXTRAIFACES_C@
+EXTRAIFACES_LO=@EXTRAIFACES_LO@
+BUILT_SOURCES=generated.cpp
+CLEANFILES=$(BUILT_SOURCES) $(EXTRAIFACES_C) libextra.la
+
sbin_PROGRAMS = phosphor-inventory
phosphor_inventory_SOURCES = app.cpp
@@ -8,14 +13,21 @@
xyz.openbmc_project.Inventory.Manager.cpp \
generated.cpp \
manager.cpp
+libmanager_la_LIBADD = libextra.la
-if EXAMPLE
-noinst_LTLIBRARIES += libexample.la
-libexample_la_SOURCES = \
- xyz.openbmc_project.Example.Iface1.cpp \
- xyz.openbmc_project.Example.Iface2.cpp
-libmanager_la_LIBADD = libexample.la
-endif
+# Automake does not allow autoconf substituted variables
+# in _SOURCES variables. Work around this by providing
+# our own target.
+#
+# Typically the recommendation is conditional compilation
+# but here the generated source files are completely
+# arbitrary and not known making that approach difficult.
+libextra.la: $(EXTRAIFACES_LO)
+ $(AM_V_CXXLD)$(CXXLINK) $(EXTRAIFACES_LO)
+
+$(EXTRAIFACES_C) generated.cpp:
+ $(AM_V_GEN)@PIMGEN@ -o $(top_builddir) generate-cpp
+
phosphor_inventory_LDFLAGS = $(SYSTEMD_LIBS)
phosphor_inventory_CFLAGS = $(SYSTEMD_CFLAGS)