summaryrefslogtreecommitdiff
path: root/package/x11r7/mesa3d/mesa3d.mk
blob: 47de48a9f524c767d194a8ad0ad051ee5d9f117c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#############################################################
#
# mesa3d
#
#############################################################
MESA3D_VERSION:=7.0.3
MESA3D_SOURCE:=MesaLib-$(MESA3D_VERSION).tar.gz
MESA3D_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/mesa3d
MESA3D_DIR:=$(BUILD_DIR)/Mesa-$(MESA3D_VERSION)
MESA_TARGET=linux-dri-x86
MESA_BUILD_ENV=$(TARGET_CONFIGURE_OPTS)
MESA_CONFIG_FILE=$(MESA3D_DIR)/configs/$(MESA_TARGET)
#MESA_DRIVERS= i810 i915 i965 mga mach64 r128 r200 r300 s3v savage sis ffb tdfx trident unichrome
MESA_DRIVERS=

$(DL_DIR)/$(MESA3D_SOURCE):
	$(WGET) -P $(DL_DIR) $(MESA3D_SITE)/$(MESA3D_SOURCE)

$(MESA3D_DIR)/.extracted: $(DL_DIR)/$(MESA3D_SOURCE)
	$(ZCAT) $(DL_DIR)/$(MESA3D_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
	toolchain/patch-kernel.sh $(MESA3D_DIR) package/x11r7/mesa3d/ mesa3d\*.patch
	touch $@

$(MESA3D_DIR)/.configured: $(MESA3D_DIR)/.extracted
	( export $(TARGET_CONFIGURE_OPTS); \
		echo "DRI_DIRS = $(MESA_DRIVERS)" && \
		echo "OPT_FLAGS = $(TARGET_CFLAGS)" && \
		echo "CC = $(TARGET_CC)" && \
		echo "CXX = $(TARGET_CXX)" && \
		echo "PIC_FLAGS = -fPIC" && \
		echo "SRC_DIRS = glx/x11 mesa glu glut/glx" && \
		echo "USING_EGL = 0" && \
		echo "X11_INCLUDES = " && \
		echo "EXTRA_LIB_PATH = " && \
		echo "PROGRAM_DIRS =" \
	) >> $(MESA_CONFIG_FILE)
	touch $@

$(MESA3D_DIR)/.built: BR2_JLEVEL=1
$(MESA3D_DIR)/.built: $(MESA3D_DIR)/.configured
	gccinc=$$($(TARGET_CC) -print-search-dirs | grep '^install:' | sed 's@^install: @@')include; \
	rm -f $(MESA3D_DIR)/config/current
	env $(MESA_BUILD_ENV) $(MAKE) \
		MKDEP="makedepend -I$$gccinc" \
		CC=$(TARGET_CC) CXX=$(TARGET_CXX) CC_FOR_BUILD=/usr/bin/gcc \
		-C $(MESA3D_DIR) $(MESA_TARGET)
	touch $@

$(MESA3D_DIR)/.installed: $(MESA3D_DIR)/.built
	env $(MESA_BUILD_ENV) $(MAKE) \
		INSTALL_DIR=$(STAGING_DIR)/usr \
		DRI_DRIVER_INSTALL_DIR=$(STAGING_DIR)/usr/lib/dri \
		-C $(MESA3D_DIR) install
	env $(MESA_BUILD_ENV) $(MAKE) \
		INSTALL_DIR=$(TARGET_DIR)/usr \
		DRI_DRIVER_INSTALL_DIR=$(TARGET_DIR)/usr/lib/dri \
		-C $(MESA3D_DIR) install
	rm -Rf $(TARGET_DIR)/usr/include/GL
	touch $@

mesa3d-depends: xproto_glproto xproto_xf86vidmodeproto xlib_libXxf86vm xlib_libXmu xlib_libXdamage libdrm
mesa3d-source: $(DL_DIR)/$(MESA3D_SOURCE)
mesa3d-configure: $(MESA3D_DIR)/.configured
mesa3d-build: $(MESA3D_DIR)/.built
mesa3d: mesa3d-depends $(MESA3D_DIR)/.installed

mesa3d-clean:
	$(MAKE) prefix=$(STAGING_DIR)/usr -C $(MESA3D_DIR) uninstall
	$(MAKE) prefix=$(TARGET_DIR)/usr -C $(MESA3D_DIR) uninstall
	-$(MAKE) -C $(MESA3D_DIR) clean

mesa3d-dirclean:
	rm -rf $(MESA3D_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_MESA3D)),y)
TARGETS+=mesa3d
endif
# :mode=makefile: