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

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

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

# 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())}"
