1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# irrlicht 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunIRRLICHT_VERSION_MAJOR = 1.8 8*4882a593SmuzhiyunIRRLICHT_VERSION = $(IRRLICHT_VERSION_MAJOR).4 9*4882a593SmuzhiyunIRRLICHT_SOURCE = irrlicht-$(IRRLICHT_VERSION).zip 10*4882a593SmuzhiyunIRRLICHT_SITE = https://downloads.sourceforge.net/project/irrlicht/Irrlicht%20SDK/$(IRRLICHT_VERSION_MAJOR)/$(IRRLICHT_VERSION) 11*4882a593SmuzhiyunIRRLICHT_INSTALL_STAGING = YES 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Bundled libraries: bzip2, libaesGladman, libpng, lzma, zlib, 14*4882a593Smuzhiyun# The handcrafted Makefile can only use bundled libraries. 15*4882a593SmuzhiyunIRRLICHT_LICENSE = Zlib (irrlicht), BSD-3-Clause (libaesGladman), bzip2-1.0.5 (bzip2), IJG (libjpeg), Libpng (libpng) 16*4882a593SmuzhiyunIRRLICHT_LICENSE_FILES = \ 17*4882a593Smuzhiyun doc/aesGladman.txt \ 18*4882a593Smuzhiyun doc/bzip2-license.txt \ 19*4882a593Smuzhiyun doc/irrlicht-license.txt \ 20*4882a593Smuzhiyun doc/jpglib-license.txt \ 21*4882a593Smuzhiyun doc/libpng-license.txt 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunIRRLICHT_SUBDIR = source/Irrlicht 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunIRRLICHT_DEPENDENCIES = libgl xlib_libXxf86vm 26*4882a593Smuzhiyun 27*4882a593Smuzhiyundefine IRRLICHT_EXTRACT_CMDS 28*4882a593Smuzhiyun $(UNZIP) -d $(@D) $(IRRLICHT_DL_DIR)/$(IRRLICHT_SOURCE) 29*4882a593Smuzhiyun mv $(@D)/irrlicht-$(IRRLICHT_VERSION)/* $(@D) 30*4882a593Smuzhiyun $(RM) -r $(@D)/irrlicht-$(IRRLICHT_VERSION) 31*4882a593Smuzhiyunendef 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunIRRLICHT_CONF_OPTS = $(TARGET_CONFIGURE_OPTS) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun# Build a static library OR a shared library, otherwise we need to compile with -fPIC 36*4882a593Smuzhiyun# "relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC" 37*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),) 38*4882a593SmuzhiyunIRRLICHT_CONF_OPTS += sharedlib 39*4882a593Smuzhiyunendif 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun# Irrlicht fail to detect properly the NEON support on aarch64 or ARM with NEON FPU support. 42*4882a593Smuzhiyun# While linking an application with libIrrlicht.so, we get an undefined reference to 43*4882a593Smuzhiyun# png_init_filter_functions_neon. 44*4882a593Smuzhiyun# Some files are missing in the libpng bundled in Irrlicht, in particular arm/arm_init.c, 45*4882a593Smuzhiyun# so disable NEON support completely. 46*4882a593SmuzhiyunIRRLICHT_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DPNG_ARM_NEON_OPT=0" 47*4882a593Smuzhiyun 48*4882a593Smuzhiyundefine IRRLICHT_BUILD_CMDS 49*4882a593Smuzhiyun $(TARGET_MAKE_ENV) 50*4882a593Smuzhiyun $(MAKE) -C $(@D)/$(IRRLICHT_SUBDIR) $(IRRLICHT_CONF_OPTS) 51*4882a593Smuzhiyunendef 52*4882a593Smuzhiyun 53*4882a593Smuzhiyundefine IRRLICHT_INSTALL_STAGING_CMDS 54*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) \ 55*4882a593Smuzhiyun INSTALL_DIR=$(STAGING_DIR)/usr/lib \ 56*4882a593Smuzhiyun -C $(@D)/$(IRRLICHT_SUBDIR) install 57*4882a593Smuzhiyunendef 58*4882a593Smuzhiyun 59*4882a593Smuzhiyundefine IRRLICHT_INSTALL_TARGET_CMDS 60*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) \ 61*4882a593Smuzhiyun INSTALL_DIR=$(TARGET_DIR)/usr/lib \ 62*4882a593Smuzhiyun -C $(@D)/$(IRRLICHT_SUBDIR) install 63*4882a593Smuzhiyunendef 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun$(eval $(generic-package)) 66