Makefile revision 1345
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews###############################################################################
71cef386fae61275b03e203825680b39fedaa8c6Tinderbox User# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Permission is hereby granted, free of charge, to any person obtaining a
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# copy of this software and associated documentation files (the "Software"),
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# to deal in the Software without restriction, including without limitation
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# the rights to use, copy, modify, merge, publish, distribute, sublicense,
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# and/or sell copies of the Software, and to permit persons to whom the
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Software is furnished to do so, subject to the following conditions:
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# The above copyright notice and this permission notice (including the next
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# paragraph) shall be included in all copies or substantial portions of the
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# DEALINGS IN THE SOFTWARE.
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Package name used in tarballs
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Package metadata
b66b333f59cf51ef87f973084a5023acd9317fb2Evan HuntMODULE_LICENSE = Mesa License (Mixed: MIT, LGPLv2, others)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# ARC cases that covered this module
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# LSARC/2005/109 MESA, Open Source OpenGL clone
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Version number (used in path names)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Checksums for upstream tarball
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserTARBALL_MD5 = 0837c52698fe3252369c3fdb5195afcc
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserTARBALL_SHA1 = 5981ac2de8438e5f4a1f3561f2044d700c5f0de9
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Source tarball
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserSOURCE_TARBALL_NAME=MesaLib-$(MODULE_VERSION).tar.bz2
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Download site for source
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserSOURCE_URL=ftp://ftp.freedesktop.org/pub/mesa/$(MODULE_VERSION)/$(SOURCE_TARBALL_NAME)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Directory created by unpacking source
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Patches to apply to source after unpacking, in order
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# File created by running configure script
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserAUTOCONF_TARGET=$(SOURCE_DIR)/configs/autoconf
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserDRI_DRIVER_LIST_i386=i915 i965 r200 r300 radeon
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserDRI_DRIVER_LIST= $(DRI_DRIVER_LIST_$(MACH)) swrast
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Command line options to GNU autoconf configure script
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserMODULE_CONFIG_OPTS = --with-driver=dri --disable-egl --disable-gallium \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt --with-dri-driverdir='$(X11_SERVERMODS_DIR)/dri$(ARCHLIBSUBDIR)' \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Build mesa with this define (CR 7032292)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Override LDFLAGS passed to configure to not include CFLAGS, since that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# breaks building libGLU with Sun Studio C++ compiler
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserMODULE_CONFIG_ENV = LDFLAGS="$(DEFAULT_CONFIG_LDFLAGS) $(ARCH_FLAGS) $(MODTYPE_LDFLAGS) $(MODULE_CFLAGS) $(MODULE_LDFLAGS)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Add proto area to path to find makedepend
b66b333f59cf51ef87f973084a5023acd9317fb2Evan HuntMODULE_BUILD_ENV = PATH="$(PROTODIR)/$(X11_BIN_DIR):$(PATH)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Need to use GNU Make to build
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# To build with gcc, uncomment these lines and comment out the MODULE_CFLAGS
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Tell Sun compiler to not apply optimizations that increase binary sizes
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Without this flag, Studio 12 binaries are almost 2x bigger (CR 6808868)
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt#MODULE_CFLAGS = -xspace
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Add include paths and linker paths needed for DRM modules
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserMODULE_CPPFLAGS = -I$(PROTODIR)/usr/include/libdrm
b66b333f59cf51ef87f973084a5023acd9317fb2Evan HuntMODULE_LDFLAGS= -L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Merge in additional sources from sun-src directory
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# pkg-config files that need to have -R added
b66b333f59cf51ef87f973084a5023acd9317fb2Evan HuntFIX_PC_FILES=src/*/*.pc.in src/mesa/drivers/dri/dri.pc.in
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt### Include common rulesets
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Mesa makefiles use a different variable name/method for pkgconfig path
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt echo 'INSTALL_PC_DIR=$(PKGCONFIG_DIR)' >> $(AUTOCONF_TARGET)
b66b333f59cf51ef87f973084a5023acd9317fb2Evan Hunt# Move installed files to mesa subdirs and make links back
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox UserLIBRARIES_TO_MOVE = $(LIBRARIES_TO_DIRECT_LINK) $(LIBRARIES_TO_RUNTIME_LINK)
b66b333f59cf51ef87f973084a5023acd9317fb2Evan HuntMESA_LIBDIR = $(PROTODIR)/usr/lib/mesa$(ARCHLIBSUBDIR)
$(HEADERS_TO_RUNTIME_LINK:%=../../../system/volatile/opengl/include/%) \
$(START_CMD_ECHO) ; \
$(START_CMD_ECHO) ; \