The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / ti-gfx / ti-gfx.mk
1 ################################################################################
2 #
3 # ti-gfx
4 #
5 ################################################################################
6
7 # SDK 5_01_01_01 only support EABIhf so we downgrade to 5_01_00_01 if EABIhf is
8 # not available.
9 ifeq ($(BR2_ARM_EABIHF),y)
10 TI_GFX_VERSION = 5_01_01_02
11 TI_GFX_SOURCE = Graphics_SDK_setuplinux_hardfp_$(TI_GFX_VERSION).bin
12 else
13 TI_GFX_VERSION = 5_01_00_01
14 TI_GFX_SOURCE = Graphics_SDK_setuplinux_softfp_$(TI_GFX_VERSION).bin
15 endif
16
17 TI_GFX_SO_VERSION = 1.10.2359475
18 TI_GFX_SITE = http://downloads.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/$(TI_GFX_VERSION)/exports
19 TI_GFX_LICENSE = Technology / Software Publicly Available
20 TI_GFX_LICENSE_FILES = TSPA.txt
21 TI_GFX_INSTALL_STAGING = YES
22
23 TI_GFX_DEPENDENCIES = linux
24 TI_GFX_PROVIDES = libegl libgles powervr
25
26 ifeq ($(BR2_PACKAGE_TI_GFX_ES3),y)
27 TI_GFX_OMAPES = 3.x
28 TI_GFX_PLATFORM = omap3
29 endif
30 ifeq ($(BR2_PACKAGE_TI_GFX_ES5),y)
31 TI_GFX_OMAPES = 5.x
32 TI_GFX_PLATFORM = omap3630
33 endif
34 ifeq ($(BR2_PACKAGE_TI_GFX_ES6),y)
35 TI_GFX_OMAPES = 6.x
36 TI_GFX_PLATFORM = ti81xx
37 endif
38 ifeq ($(BR2_PACKAGE_TI_GFX_ES8),y)
39 TI_GFX_OMAPES = 8.x
40 TI_GFX_PLATFORM = ti335x
41 endif
42
43 ifeq ($(BR2_PACKAGE_TI_GFX_DEBUG),y)
44 TI_GFX_DEBUG_LIB = dbg
45 TI_GFX_DEBUG_KM = debug
46 else
47 TI_GFX_DEBUG_LIB = rel
48 TI_GFX_DEBUG_KM = release
49 endif
50
51 TI_GFX_BIN_PATH = gfx_$(TI_GFX_DEBUG_LIB)_es$(TI_GFX_OMAPES)
52
53 TI_GFX_KM_MAKE_OPTS = \
54         $(LINUX_MAKE_FLAGS) \
55         BUILD=$(TI_GFX_DEBUG_KM) \
56         TI_PLATFORM=$(TI_GFX_PLATFORM) \
57         OMAPES=$(TI_GFX_OMAPES) \
58         SUPPORT_XORG=0 \
59         KERNELDIR=$(LINUX_DIR)
60
61 TI_GFX_DEMO_MAKE_OPTS = \
62         PLATFORM=LinuxARMV7 \
63         X11BUILD=0 \
64         PLAT_CC="$(TARGET_CC)" \
65         PLAT_CPP="$(TARGET_CXX)" \
66         PLAT_AR="$(TARGET_AR)"
67
68 # The only required binary is pvrsrvctl all others are optional
69 TI_GFX_BIN = pvrsrvctl
70
71 ifeq ($(BR2_PACKAGE_TI_GFX_DEBUG),y)
72 TI_GFX_BIN += \
73         eglinfo ews_server ews_server_es2 ews_test_gles1 ews_test_gles2 \
74         ews_test_swrender gles1test1 gles2test1 pvr2d_test services_test \
75         sgx_blit_test sgx_clipblit_test sgx_flip_test sgx_init_test \
76         sgx_render_flip_test xeglinfo xgles1test1 xgles2test1 xmultiegltest
77 endif
78
79 TI_GFX_LIBS = \
80         libews libpvr2d libpvrEWS_WSEGL libpvrPVR2D_BLITWSEGL libpvrPVR2D_DRIWSEGL \
81         libpvrPVR2D_FLIPWSEGL libpvrPVR2D_FRONTWSEGL libpvrPVR2D_LINUXFBWSEGL \
82         libPVRScopeServices libsrv_init libsrv_um libusc pvr_drv
83
84 TI_GFX_EGLIMAGE_LIBS = \
85         libEGL libGLES_CM libGLESv2 libglslcompiler libIMGegl
86
87 TI_GFX_DEMOS = ChameleonMan MagicLantern
88 TI_GFX_DEMOS_LOC = GFX_Linux_SDK/OGLES2/SDKPackage/Demos
89 TI_GFX_DEMOS_MAKE_LOC = OGLES2/Build/LinuxGeneric
90 TI_GFX_DEMOS_BIN_LOC = OGLES2/Build/LinuxARMV7/ReleaseRaw/
91
92 TI_GFX_HDR_DIRS = OGLES2/EGL OGLES2/EWS OGLES2/GLES2 OGLES2/KHR \
93         OGLES/GLES bufferclass_ti/ pvr2d/ wsegl/
94
95 define TI_GFX_EXTRACT_CMDS
96         chmod +x $(DL_DIR)/$(TI_GFX_SOURCE)
97         printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \
98                 --prefix $(@D) \
99                 --mode console
100 endef
101
102 define TI_GFX_BUILD_KM_CMDS
103         $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM all
104 endef
105
106 ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
107 define TI_GFX_BUILD_DEMO_CMDS
108         $(foreach demo, $(TI_GFX_DEMOS), \
109                 $(TARGET_MAKE_ENV) $(MAKE1) -C \
110                         $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC) \
111                         $(TI_GFX_DEMO_MAKE_OPTS) all
112         )
113 endef
114 endif
115
116 define TI_GFX_BUILD_CMDS
117         $(TI_GFX_BUILD_KM_CMDS)
118         $(TI_GFX_BUILD_DEMO_CMDS)
119 endef
120
121 # Install libs
122 # argument 1 is the location to install to (e.g. STAGING_DIR, TARGET_DIR)
123 define TI_GFX_INSTALL_LIBS
124         $(foreach lib,$(TI_GFX_LIBS),
125                 $(INSTALL) -D -m 0644 $(@D)/$(TI_GFX_BIN_PATH)/$(lib).so \
126                         $(1)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION); \
127                 ln -sf $(lib).so.$(TI_GFX_SO_VERSION) \
128                         $(1)/usr/lib/$(lib).so
129         )
130         $(foreach lib,$(TI_GFX_EGLIMAGE_LIBS),
131                 $(if $(BR2_PACKAGE_TI_GFX_EGLIMAGE),
132                         $(INSTALL) -D -m 0644 $(@D)/$(TI_GFX_BIN_PATH)/$(lib)_eglimage.so \
133                                 $(1)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION);
134                 ,
135                         $(INSTALL) -D -m 0644 $(@D)/$(TI_GFX_BIN_PATH)/$(lib).so \
136                                 $(1)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION);
137                 )
138                 ln -sf $(lib).so.$(TI_GFX_SO_VERSION) \
139                         $(1)/usr/lib/$(lib).so
140         )
141 endef
142
143 define TI_GFX_INSTALL_STAGING_CMDS
144         $(foreach incdir,$(TI_GFX_HDR_DIRS),
145                 $(INSTALL) -d $(STAGING_DIR)/usr/include/$(notdir $(incdir)); \
146                 $(INSTALL) -D -m 0644 $(@D)/include/$(incdir)/*.h \
147                         $(STAGING_DIR)/usr/include/$(notdir $(incdir))/
148         )
149         $(call TI_GFX_INSTALL_LIBS,$(STAGING_DIR))
150
151         $(INSTALL) -D -m 0644 package/ti-gfx/egl.pc \
152                 $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
153         $(INSTALL) -D -m 0644 package/ti-gfx/glesv2.pc \
154                 $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
155 endef
156
157 define TI_GFX_INSTALL_KM_CMDS
158         $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM install
159 endef
160
161 define TI_GFX_INSTALL_BINS_CMDS
162         $(foreach bin,$(TI_GFX_BIN),
163                 $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(bin) \
164                         $(TARGET_DIR)/usr/bin/$(bin)
165         )
166         $(if $(BR2_PACKAGE_TI_GFX_DEBUG),
167                 $(INSTALL) -D -m 0755 package/ti-gfx/esrev.sh \
168                         $(TARGET_DIR)/usr/sbin/esrev
169         )
170 endef
171
172 define TI_GFX_INSTALL_CONF_CMDS
173         # libs use the following file for configuration.
174         $(INSTALL) -D -m 0644 package/ti-gfx/powervr.ini \
175                 $(TARGET_DIR)/etc/powervr.ini
176 endef
177
178 ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
179 define TI_GFX_INSTALL_DEMOS_CMDS
180         $(foreach demo,$(TI_GFX_DEMOS),
181                 $(INSTALL) -D -m 0755 \
182                 $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_BIN_LOC)/OGLES2$(demo) \
183                 $(TARGET_DIR)/usr/bin/OGLES2$(demo)
184         )
185 endef
186 endif
187
188 define TI_GFX_INSTALL_INIT_SYSV
189         $(INSTALL) -D -m 0755 package/ti-gfx/S80ti-gfx \
190                 $(TARGET_DIR)/etc/init.d/S80ti-gfx
191 endef
192
193 define TI_GFX_INSTALL_TARGET_CMDS
194         $(TI_GFX_INSTALL_KM_CMDS)
195         $(TI_GFX_INSTALL_BINS_CMDS)
196         $(call TI_GFX_INSTALL_LIBS,$(TARGET_DIR))
197         $(TI_GFX_INSTALL_CONF_CMDS)
198         $(TI_GFX_INSTALL_DEMOS_CMDS)
199 endef
200
201 $(eval $(generic-package))