blob: 9e408158d80c7a880db7bc27fb086877397152a2 [file] [log] [blame]
ifeq ($(ROOTDIR),)
$(error $$ROOTDIR IS NOT DEFINED -- don\'t forget to source setup.sh)
endif
include $(ROOTDIR)/build/preamble.mk
GPU_VERSION := imx-gpu-viv-6.2.4.p1.0-aarch64
GPU_DIR := $(ROOTDIR)/imx-gpu-viv/$(GPU_VERSION)
GPU_OUT_DIR := $(PRODUCT_OUT)/obj/GPU
WAYLAND_PROTO_DIR := $(PRODUCT_OUT)/obj/WAYLAND_PROTO
WESTON_DIR := $(PRODUCT_OUT)/obj/WESTON
imx-gpu-viv: $(PRODUCT_OUT)/imx-gpu-viv_6.2.4_arm64.deb
wayland-protocols: $(PRODUCT_OUT)/wayland-protocols-imx_1.13-0_all.deb
weston: $(PRODUCT_OUT)/weston-imx_3.0.0-0_arm64.deb
gpu-packages: weston wayland-protocols imx-gpu-viv
$(PRODUCT_OUT)/weston-imx_3.0.0-0_arm64.deb: $(ROOTDIR)/cache/arm64-builder.tar $(PRODUCT_OUT)/wayland-protocols-imx_1.13-0_all.deb
mkdir -p $(WESTON_DIR)/weston-imx-3.0.0
cp -r $(ROOTDIR)/weston-imx/* $(WESTON_DIR)/weston-imx-3.0.0
mkdir -p $(WESTON_DIR)/weston-imx-3.0.0/lib/systemd/system
cp $(ROOTDIR)/build/weston.service $(WESTON_DIR)/weston-imx-3.0.0/lib/systemd/system
tar -C $(WESTON_DIR) -cJf $(WESTON_DIR)/weston-imx_3.0.0.orig.tar.xz weston-imx-3.0.0
cp -r $(ROOTDIR)/build/weston-imx-debian $(WESTON_DIR)/weston-imx-3.0.0/debian
docker load -i $(ROOTDIR)/cache/arm64-builder.tar
docker run --rm --privileged --tty \
-v $(PRODUCT_OUT):/out \
-v $(WESTON_DIR):/weston arm64-builder \
/bin/bash -c 'dpkg -i /out/wayland-protocols-imx_1.13-0_all.deb; \
cd /weston/weston-imx-3.0.0; dpkg-buildpackage -uc -us -tc'
mv $(WESTON_DIR)/weston-imx_3.0.0-0_arm64.deb $(PRODUCT_OUT)
$(PRODUCT_OUT)/imx-gpu-viv_6.2.4_arm64.deb:
mkdir -p $(GPU_OUT_DIR)
mkdir -p $(GPU_OUT_DIR)/usr
mkdir -p $(GPU_OUT_DIR)/usr/bin
mkdir -p $(GPU_OUT_DIR)/usr/lib
mkdir -p $(GPU_OUT_DIR)/usr/lib/dri
mkdir -p $(GPU_OUT_DIR)/usr/lib/pkgconfig
mkdir -p $(GPU_OUT_DIR)/usr/lib/vulkan
mkdir -p $(GPU_OUT_DIR)/usr/include
cp -P $(GPU_DIR)/gpu-core/usr/lib/*.so* $(GPU_OUT_DIR)/usr/lib/
cp -r $(GPU_DIR)/gpu-core/usr/include/* $(GPU_OUT_DIR)/usr/include/
cp -r $(GPU_DIR)/gpu-demos/opt $(GPU_OUT_DIR)
cp -r $(GPU_DIR)/gpu-tools/gmem-info/usr/bin/* $(GPU_OUT_DIR)/usr/bin
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/egl_wayland.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig/egl.pc
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/glesv2.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/vg.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/wayland-egl.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig
cp $(GPU_DIR)/gpu-core/usr/lib/pkgconfig/gbm.pc $(GPU_OUT_DIR)/usr/lib/pkgconfig
cp -r $(GPU_DIR)/gpu-core/usr/lib/dri $(GPU_OUT_DIR)/usr/lib
mv $(GPU_OUT_DIR)/usr/lib/libGL.so.1.2 $(GPU_OUT_DIR)/usr/lib/libGL.so.1.2.0
ln -sf libGL.so.1.2.0 $(GPU_OUT_DIR)/usr/lib/libGL.so.1.2
ln -sf libGL.so.1.2 $(GPU_OUT_DIR)/usr/lib/libGL.so.1
ln -sf libGL.so.1 $(GPU_OUT_DIR)/usr/lib/libGL.so
mv $(GPU_OUT_DIR)/usr/lib/libEGL-wl.so $(GPU_OUT_DIR)/usr/lib/libEGL.so.1.0
ln -sf libEGL.so.1.0 $(GPU_OUT_DIR)/usr/lib/libEGL.so.1
ln -sf libEGL.so.1 $(GPU_OUT_DIR)/usr/lib/libEGL.so
mv $(GPU_OUT_DIR)/usr/lib/libGAL-wl.so $(GPU_OUT_DIR)/usr/lib/libGAL.so
mv $(GPU_OUT_DIR)/usr/lib/libVDK-wl.so $(GPU_OUT_DIR)/usr/lib/libVDK.so
rm -rf $(GPU_OUT_DIR)/usr/lib/libGLESv2*
cp $(GPU_DIR)/gpu-core/usr/lib/libGLESv2-wl.so $(GPU_OUT_DIR)/usr/lib/libGLESv2.so.2.0.0
ln -sf libGLESv2.so.2.0.0 $(GPU_OUT_DIR)/usr/lib/libGLESv2.so.2.0
ln -sf libGLESv2.so.2.0 $(GPU_OUT_DIR)/usr/lib/libGLESv2.so.2
ln -sf libGLESv2.so.2 $(GPU_OUT_DIR)/usr/lib/libGLESv2.so
mv $(GPU_OUT_DIR)/usr/lib/libvulkan-wl.so $(GPU_OUT_DIR)/usr/lib/vulkan/libvulkan_VSI.so
rm -rf $(GPU_OUT_DIR)/usr/lib/*-wl.so
rm -rf $(GPU_OUT_DIR)/usr/lib/*-fb.so
rm -rf $(GPU_OUT_DIR)/usr/lib/*-x11.so
rm -f $(GPU_OUT_DIR)/usr/lib/libOpenVG.so
ln -sf libOpenVG.3d.so $(GPU_OUT_DIR)/usr/lib/libOpenVG.so
cp -r $(ROOTDIR)/imx-gpu-viv/debian $(GPU_OUT_DIR)
cd $(GPU_OUT_DIR); dpkg-buildpackage -aarm64 -b -rfakeroot -us -uc -tc
mv $(GPU_OUT_DIR)/../imx-gpu-viv_6.2.4_arm64.deb $(PRODUCT_OUT)
$(PRODUCT_OUT)/wayland-protocols-imx_1.13-0_all.deb:
mkdir -p $(WAYLAND_PROTO_DIR)/wayland-protocols-imx-1.13
cp -r $(ROOTDIR)/wayland-protocols-imx/* $(WAYLAND_PROTO_DIR)/wayland-protocols-imx-1.13
tar -C $(WAYLAND_PROTO_DIR) -cJf $(WAYLAND_PROTO_DIR)/wayland-protocols-imx_1.13.orig.tar.xz wayland-protocols-imx-1.13
cp -r $(ROOTDIR)/build/wayland-protocols-imx-debian $(WAYLAND_PROTO_DIR)/wayland-protocols-imx-1.13/debian
cd $(WAYLAND_PROTO_DIR)/wayland-protocols-imx-1.13; dpkg-buildpackage -uc -us -tc
mv $(WAYLAND_PROTO_DIR)/wayland-protocols-imx_1.13-0_all.deb $(PRODUCT_OUT)
.PHONY:: imx-gpu-viv wayland-protocols-imx weston-imx gpu-packages