| ################################################################################ |
| # |
| # sunxi-mali |
| # |
| ################################################################################ |
| |
| SUNXI_MALI_VERSION = c2491fe952 |
| SUNXI_MALI_SITE = http://github.com/linux-sunxi/sunxi-mali/tarball/$(SUNXI_MALI_VERSION) |
| |
| SUNXI_MALI_INSTALL_STAGING = YES |
| SUNXI_MALI_DEPENDENCIES = sunxi-mali-prop |
| |
| # The options below must be provided in the environment. Providing these |
| # through options overrides the value and prevents the makefiles from |
| # appending to these variables. This is used throughout the sunxi-mali build |
| # system. |
| # |
| # Furthermore, the -lm -dl -lpthread options are included due to a possible bug |
| # in the way the linaro 2013.06 toolchain handles shared libraries. |
| SUNXI_MALI_MAKE_ENV = \ |
| CC="$(TARGET_CC)" \ |
| CFLAGS="$(TARGET_CFLAGS) -lm -ldl -lpthread" \ |
| $(TARGET_MAKE_ENV) |
| |
| ifeq ($(BR2_ARM_EABIHF),y) |
| SUNXI_MALI_MAKE_OPTS += ABI=armhf |
| else |
| SUNXI_MALI_MAKE_OPTS += ABI=armel |
| endif |
| |
| SUNXI_MALI_MAKE_OPTS += EGL_TYPE=framebuffer |
| |
| ifeq ($(BR2_PACKAGE_SUNXI_MALI_R2P4),y) |
| SUNXI_MALI_MAKE_OPTS += VERSION=r2p4 |
| endif |
| ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P0),y) |
| SUNXI_MALI_MAKE_OPTS += VERSION=r3p0 |
| endif |
| ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P1),y) |
| SUNXI_MALI_MAKE_OPTS += VERSION=r3p1 |
| endif |
| |
| define SUNXI_MALI_GIT_SUBMODULE_FIXUP |
| rm -rf $(@D)/lib/mali |
| cp -rf $(SUNXI_MALI_PROP_SRCDIR) $(@D)/lib/mali |
| endef |
| |
| SUNXI_MALI_PRE_CONFIGURE_HOOKS += SUNXI_MALI_GIT_SUBMODULE_FIXUP |
| |
| define SUNXI_MALI_BUILD_CMDS |
| $(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) all |
| $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/version/version \ |
| $(@D)/version/version.c |
| endef |
| |
| define SUNXI_MALI_INSTALL_STAGING_CMDS |
| $(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) \ |
| $(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install |
| # test must be built after install because it depends on headers that are |
| # generated during the install above. |
| $(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) test |
| $(INSTALL) -D -m 0644 package/sunxi-mali/egl.pc \ |
| $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc |
| $(INSTALL) -D -m 0644 package/sunxi-mali/glesv2.pc \ |
| $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc |
| endef |
| |
| define SUNXI_MALI_INSTALL_TARGET_CMDS |
| $(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \ |
| $(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install |
| # add execution permissions so that libraries are properly stripped |
| chmod +x $(addprefix $(TARGET_DIR)/usr/lib/lib,EGL.so GLESv1_CM.so GLESv2.so Mali.so UMP.so*) |
| $(if $(BR2_PACKAGE_SUNXI_MALI_DBG), |
| $(INSTALL) -m 755 $(@D)/version/version $(TARGET_DIR)/usr/bin/maliver; \ |
| $(INSTALL) -m 755 $(@D)/test/test $(TARGET_DIR)/usr/bin/malitest |
| ) |
| endef |
| |
| define SUNXI_MALI_INSTALL_INIT_SYSV |
| $(INSTALL) -D -m 0755 package/sunxi-mali/S80mali \ |
| $(TARGET_DIR)/etc/init.d/S80mali |
| endef |
| |
| $(eval $(generic-package)) |