#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-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)))
