#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-img-fw,graphics/img-fw))
$(eval $(call make-pbuilder-bsp-package-target,weston-mtk,graphics/wayland/weston))
# $(eval $(call make-pbuilder-bsp-package-target,mesa-mtk,graphics/mesa))
$(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,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,,,$(USERSPACE_ARCH)))
$(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)))
$(eval $(call make-pbuilder-bsp-package-target,excelsior-tools,packages/excelsior-tools))
