##
##  Copyright (c) 2010 The VP8 project authors. All Rights Reserved.
##
##  Use of this source code is governed by a BSD-style license
##  that can be found in the LICENSE file in the root of the source
##  tree. An additional intellectual property rights grant can be found
##  in the file PATENTS.  All contributing project authors may
##  be found in the AUTHORS file in the root of the source tree.
##


API_EXPORTS += exports

API_SRCS-$(CONFIG_DECODERS) += src/vpx_decoder.c
API_SRCS-$(CONFIG_DECODERS) += src/vpx_decoder_compat.c
API_SRCS-$(CONFIG_DECODERS) += vpx_decoder.h
API_SRCS-$(CONFIG_DECODERS) += vpx_decoder_compat.h
API_SRCS-$(CONFIG_ENCODERS) += src/vpx_encoder.c
API_SRCS-$(CONFIG_ENCODERS) += vpx_encoder.h
API_SRCS-yes                += internal/vpx_codec_internal.h
API_SRCS-yes                += src/vpx_codec.c
API_SRCS-yes                += src/vpx_image.c
API_SRCS-yes                += vpx_codec.h
API_SRCS-yes                += vpx_codec.mk
API_SRCS-yes                += vpx_codec_impl_bottom.h
API_SRCS-yes                += vpx_codec_impl_top.h
API_SRCS-yes                += vpx_image.h
