diff options
author | Matt Spinler <spinler@us.ibm.com> | 2017-03-09 16:01:39 -0600 |
---|---|---|
committer | Matt Spinler <spinler@us.ibm.com> | 2017-03-14 15:37:27 -0500 |
commit | 12bdf058149dcab523f91c77aa734076a1afacaa (patch) | |
tree | 52c8246a5ed289d66504216f75b8ee50b1db909c | |
parent | d9bdcf729783afbd32ec8d030cd49455dff88e9b (diff) | |
download | openpower-proc-control-12bdf058149dcab523f91c77aa734076a1afacaa.tar.gz openpower-proc-control-12bdf058149dcab523f91c77aa734076a1afacaa.zip |
Conditional compilation of procedures
Only compile in the procedures for chips specified
during configure.
Change-Id: Ie069f472b86bfbe8ad5d00bc6db8def573f86b4b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile.am | 7 | ||||
-rw-r--r-- | Makefile.generated.in | 1 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rwxr-xr-x | gen_makefile.sh | 24 |
5 files changed, 40 insertions, 2 deletions
@@ -1,4 +1,6 @@ openpower-proc-control +openpower_procedures.cpp +Makefile.generated *.o *.lo *.la diff --git a/Makefile.am b/Makefile.am index 6f785bc..942b5d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,10 +9,13 @@ openpower_proc_control_SOURCES = \ filedescriptor.cpp \ registration.cpp \ targeting.cpp \ - procedures/p9/start_host.cpp \ - procedures/p9/vcs_workaround.cpp + openpower_procedures.cpp + +CLEANFILES = openpower_procedures.cpp openpower_proc_control_LDFLAGS = $(PHOSPHOR_LOGGING_LIBS) -lstdc++fs openpower_proc_control_CXXFLAGS = $(PHOSPHOR_LOGGING_CFLAGS) SUBDIRS = test + +-include Makefile.generated diff --git a/Makefile.generated.in b/Makefile.generated.in new file mode 100644 index 0000000..0aad258 --- /dev/null +++ b/Makefile.generated.in @@ -0,0 +1 @@ +#Empty file so that 'configure' attempts to generate Makefile.generated. diff --git a/configure.ac b/configure.ac index b0b9e85..b5a14ad 100644 --- a/configure.ac +++ b/configure.ac @@ -37,6 +37,14 @@ AS_IF([test "x$enable_oe_sdk" == "xyes"], AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags]) ) +#CHIPS can be passed in a from a recipe, or it will default to P9 +AC_ARG_VAR(CHIPS, [The list of chips to build the procedures for]) +AS_IF([test "x$CHIPS" == "x"], [CHIPS="p9"]) + +AC_CONFIG_FILES([Makefile.generated], + [${srcdir}/gen_makefile.sh "$myChips" > Makefile.generated], + [myChips="$CHIPS"]) + PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging],, [AC_MSG_ERROR([Could not find phosphor-logging...openbmc/phosphor-logging package required])]) AC_CONFIG_FILES([Makefile test/Makefile]) diff --git a/gen_makefile.sh b/gen_makefile.sh new file mode 100755 index 0000000..a6fc076 --- /dev/null +++ b/gen_makefile.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +files=() +echo "openpower_procedures_cpp_files = \\" +for type in "$@"; +do + type=${type// /} #remove spaces + for file in $(ls procedures/$type/*.cpp); + do + files+=($file) + done +done + +for file in ${files[@]}; +do + echo " $file \\" +done +echo + +cat << MAKEFILE +openpower_procedures.cpp: \$(openpower_procedures_cpp_files) + cat \$^ > \$@ + +MAKEFILE |