# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/common/recipes-*/*/*.bb \
            ${LAYERDIR}/common/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "phosphor-layer"
BBFILE_PATTERN_phosphor-layer = "^${LAYERDIR}/"
LAYERVERSION_phosphor-layer = "1"
LAYERSERIES_COMPAT_phosphor-layer = "sumo"

# Provide a variable that points the base of the phosphor layer.
PHOSPHORBASE = '${@os.path.normpath("${LAYERDIR}/")}'

IMAGE_FEATURES[validitems] += "tools-profile"

# Let us add layer-specific bbappends which are only applied when that
# layer is included in our configuration
BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
               for layer in BBFILE_COLLECTIONS.split())}"
# Add layer-specific bb files too
BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \
               for layer in BBFILE_COLLECTIONS.split())}"
