#Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

$(eval $(call make-pbuilder-bsp-package-target,linux-mtk,linux,u-boot))
$(eval $(call make-pbuilder-bsp-package-target,lk-bootloader,bootloader/mtk-lk))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-wlan,connectivity/mt7668-wifi-mod, linux-mtk,,binary))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-bluetooth,connectivity/mt7668-bluetooth-mod, linux-mtk,,binary))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-connectivity-fw,connectivity/mt7668-fw))
$(eval $(call make-pbuilder-bsp-package-target,mtk-board-audio,packages/mtk-board-audio))
$(eval $(call make-pbuilder-bsp-package-target,meta-excelsior,packages/meta-excelsior))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-nvram,packages/excelsior-nvram))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-img-fw,graphics/img-fw, libdrm))
$(eval $(call make-pbuilder-bsp-package-target,wayland-protocols-mtk,graphics/wayland/wayland-protocols))
$(eval $(call make-pbuilder-bsp-package-target,weston-mtk,graphics/wayland/weston, wayland-protocols-mtk mesa-mtk))
$(eval $(call make-pbuilder-bsp-package-target,mesa-mtk,graphics/mesa, libdrm))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-mtkcam-prebuilts,packages/excelsior-mtkcam-prebuilts))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-mtkcam,packages/excelsior-mtkcam,excelsior-mtkcam-prebuilts android-core excelsior-nvram))
$(eval $(call make-pbuilder-bsp-package-target,glmark2,graphics/glmark2,weston-mtk))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-vpu-prebuilts,multimedia/vpu,gst-plugins-good1.0 gst-mtkmdp mdpd))
$(eval $(call make-pbuilder-bsp-package-target,libdrm,graphics/libdrm))
$(eval $(call make-pbuilder-bsp-package-target,libmdp-prot,multimedia/libmdp_prot))
$(eval $(call make-pbuilder-bsp-package-target,mdpd,multimedia/mdpd, libmdp-prot))
$(eval $(call make-pbuilder-bsp-package-target,gstreamer1.0,multimedia/gstreamer1.0))
$(eval $(call make-pbuilder-bsp-package-target,gst-plugins-base1.0,multimedia/gst-plugins-base1.0),gstreamer1.0)
$(eval $(call make-pbuilder-bsp-package-target,gst-plugins-good1.0,multimedia/gst-plugins-good1.0,gst-plugins-base1.0))
$(eval $(call make-pbuilder-bsp-package-target,gst-plugins-bad1.0,multimedia/gst-plugins-bad1.0,gst-plugins-base1.0))
$(eval $(call make-pbuilder-bsp-package-target,gst-mtkmdp,multimedia/gst-mtkmdp,gst-plugins-base1.0))
$(eval $(call make-pbuilder-bsp-package-target,gst-shark,multimedia/gst-shark, gstreamer1.0))
$(eval $(call make-pbuilder-bsp-package-target,u-boot,bootloader/u-boot))
$(eval $(call make-pbuilder-bsp-package-target,optee-os,bootloader/optee-os))
$(eval $(call make-pbuilder-bsp-package-target,tf-a,bootloader/tf-a))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-bootloader,packages/excelsior-bootloader,u-boot optee-os tf-a))
$(eval $(call make-pbuilder-bsp-package-target,a71ch-crypto-support,a71ch-crypto-support,,,binary,$(USERSPACE_ARCH)))
