1include ../../Makefile.include 2DEPS=../../Makefile.include Makefile 3 4LIBNAME=mesa 5VERSION=20.1.7 6ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz 7 8MESON_BUILD_TYPE=release 9 10ifeq ($(DEBUG_BUILD), yes) 11 MESON_BUILD_TYPE=debug 12endif 13 14ifeq ($(CPU), x86_64) 15 MESA_GALLIUM_DRIVERS=iris 16else ifeq ($(CPU), $(filter $(CPU), arm aarch64)) 17 MESA_GALLIUM_DRIVERS=kmsro,vc4 18 MESA_EXTRA=-Dplatforms=wayland,drm 19endif 20 21# configuration settings 22CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ 23 --prefix=$(PREFIX) \ 24 --libdir=lib \ 25 --buildtype=$(MESON_BUILD_TYPE) \ 26 -Ddri-drivers= \ 27 -Dgallium-drivers="$(MESA_GALLIUM_DRIVERS)" \ 28 -Dgallium-extra-hud=false \ 29 -Dgallium-xvmc=false \ 30 -Dgallium-omx=disabled \ 31 -Dgallium-nine=false \ 32 -Dgallium-opencl=disabled \ 33 -Dvulkan-drivers= \ 34 -Dshader-cache=true \ 35 -Dshared-glapi=true \ 36 -Dopengl=true \ 37 -Dgbm=true \ 38 -Degl=true \ 39 -Dvalgrind=false \ 40 -Dlibunwind=false \ 41 -Dlmsensors=false \ 42 -Dbuild-tests=false \ 43 -Dselinux=false \ 44 -Dosmesa=none \ 45 -Ddri3=false \ 46 -Dglx=disabled \ 47 -Dglvnd=false \ 48 -Dllvm=false \ 49 -Dgallium-vdpau=false \ 50 -Dgallium-va=false \ 51 -Dgallium-xa=false \ 52 -Dgles1=false \ 53 -Dgles2=true \ 54 $(MESA_EXTRA) 55 56ifeq ($(CROSS_COMPILING), yes) 57CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson 58export CC=$(CC_FOR_BUILD) 59export CXX=$(CXX_FOR_BUILD) 60export CFLAGS=$(CFLAGS_FOR_BUILD) 61export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) 62else 63export CC CXX CFLAGS CXXFLAGS 64endif 65export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig 66 67LIBDYLIB=$(PLATFORM)/build/src/egl/libEGL.so 68 69all: .installed-$(PLATFORM) 70 71download: $(TARBALLS_LOCATION)/$(ARCHIVE) 72 73$(TARBALLS_LOCATION)/$(ARCHIVE): 74 cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) 75 76$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) 77 rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) 78 cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) 79 cd $(PLATFORM); rm -rf build; mkdir -p build 80 cd $(PLATFORM); $(CONFIGURE) . build 81 82$(LIBDYLIB): $(PLATFORM) 83 cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v 84 85.installed-$(PLATFORM): $(LIBDYLIB) 86 cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install 87 touch $@ 88 89clean: 90 $(MAKE) -C $(PLATFORM) clean 91 rm -f .installed-$(PLATFORM) 92 93distclean: 94 rm -rf $(PLATFORM) .installed-$(PLATFORM) 95