Makefile revision 1265
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering###############################################################################
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Permission is hereby granted, free of charge, to any person obtaining a
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# copy of this software and associated documentation files (the "Software"),
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# to deal in the Software without restriction, including without limitation
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# the rights to use, copy, modify, merge, publish, distribute, sublicense,
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# and/or sell copies of the Software, and to permit persons to whom the
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Software is furnished to do so, subject to the following conditions:
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# The above copyright notice and this permission notice (including the next
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# paragraph) shall be included in all copies or substantial portions of the
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# DEALINGS IN THE SOFTWARE.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Package name used in tarballs
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Package metadata
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringMODULE_LICENSE = Mesa License (Mixed: MIT, LGPLv2, others)
059cb3858acd038ff2cef10a3a99119bf71a8fc6Lennart Poettering# ARC cases that covered this module
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering# LSARC/2005/109 MESA, Open Source OpenGL clone
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering# Version number (used in path names)
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poettering# Checksums for upstream tarball
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart PoetteringTARBALL_MD5 = 0837c52698fe3252369c3fdb5195afcc
9f103625b145a397e67c3714766775b615c8b587Tobias HungerTARBALL_SHA1 = 5981ac2de8438e5f4a1f3561f2044d700c5f0de9
9f103625b145a397e67c3714766775b615c8b587Tobias Hunger# Source tarball
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringSOURCE_TARBALL_NAME=MesaLib-$(MODULE_VERSION).tar.bz2
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek# Download site for source
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-SzmekSOURCE_URL=ftp://ftp.freedesktop.org/pub/mesa/$(MODULE_VERSION)/$(SOURCE_TARBALL_NAME)
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Directory created by unpacking source
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringSOURCE_DIR = $(BUILD_DIR)/$(SOURCE_DIRNAME)
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poettering# Patches to apply to source after unpacking, in order
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering solaris-port.patch bromolow-chipset.patch
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering# File created by running configure script
689aede8c622ba68d9060e4edee27364445b2007Lennart PoetteringAUTOCONF_TARGET=$(SOURCE_DIR)/configs/autoconf
d15d0333be6a1ca7fdd99a1881d967b6be8f387aZbigniew Jędrzejewski-SzmekMODULE_ADD_CONFIGURE_TARGETS=set_pc_dir
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-SzmekDRI_DRIVER_LIST_i386=i915 i965 r200 r300 radeon
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-SzmekDRI_DRIVER_LIST= $(DRI_DRIVER_LIST_$(MACH)) swrast
b7def684941808600c344f0be7a2b9fcdda97e0fLennart Poettering# Command line options to GNU autoconf configure script
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-SzmekMODULE_CONFIG_OPTS = --with-driver=dri --disable-egl --disable-gallium \
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek --with-dri-driverdir='$(X11_SERVERMODS_DIR)/dri$(ARCHLIBSUBDIR)' \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering --with-dri-drivers='$(DRI_DRIVER_LIST)' \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering --with-gallium-drivers= --disable-gallium-llvm
67ab5f761f9b854d8ce85f9ee47b298e497f8bd9Tom Gundersen# Build mesa with this define (CR 7032292)
56f64d95763a799ba4475daf44d8e9f72a1bd474Michal Schmidt# Override LDFLAGS passed to configure to not include CFLAGS, since that
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek# breaks building libGLU with Sun Studio C++ compiler
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringMODULE_CONFIG_ENV = LDFLAGS="$(DEFAULT_CONFIG_LDFLAGS) $(ARCH_FLAGS) $(MODTYPE_LDFLAGS) $(MODULE_CFLAGS) $(MODULE_LDFLAGS)"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Add proto area to path to find makedepend
64347fc2b983f33e7efb0fd2bb44e133fb9f30f4Tom GundersenMODULE_BUILD_ENV = PATH="$(PROTODIR)/$(X11_BIN_DIR):$(PATH)"
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poettering# Need to use GNU Make to build
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# To build with gcc, uncomment these lines and comment out the MODULE_CFLAGS
4f52d3fe2da7c3449b7fbfaa7c64a83354d3b56cZbigniew Jędrzejewski-Szmek# Tell Sun compiler to not apply optimizations that increase binary sizes
4f52d3fe2da7c3449b7fbfaa7c64a83354d3b56cZbigniew Jędrzejewski-Szmek# Without this flag, Studio 12 binaries are almost 2x bigger (CR 6808868)
47cb901e38cd7092576fc8e76cc4a14f39bf719dLennart Poettering#MODULE_CFLAGS = -xspace
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering# Add include paths and linker paths needed for DRM modules
47cb901e38cd7092576fc8e76cc4a14f39bf719dLennart PoetteringMODULE_CPPFLAGS = -I$(PROTODIR)/usr/include/libdrm
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal SchmidtMODULE_LDFLAGS= -L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering -R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) -z ignore
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmek# Merge in additional sources from sun-src directory
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmek# pkg-config files that need to have -R added
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom GundersenFIX_PC_FILES=src/*/*.pc.in src/mesa/drivers/dri/dri.pc.in
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek### Include common rulesets
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen# Mesa makefiles use a different variable name/method for pkgconfig path
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt echo 'INSTALL_PC_DIR=$(PKGCONFIG_DIR)' >> $(AUTOCONF_TARGET)
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen# Move installed files to mesa subdirs and make links back
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom GundersenLIBRARIES_TO_DIRECT_LINK = libGLU.so.1 libGLw.so.1
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-SzmekLIBRARIES_TO_RUNTIME_LINK = libGL.so.1
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringLIBRARIES_TO_MOVE = $(LIBRARIES_TO_DIRECT_LINK) $(LIBRARIES_TO_RUNTIME_LINK)
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringMESA_LIBDIR = $(PROTODIR)/usr/lib/mesa$(ARCHLIBSUBDIR)
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringHEADERS_TO_MOVE = GLwDrawA.h GLwDrawAP.h GLwMDrawA.h GLwMDrawAP.h \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering glu.h glu_mangle.h glx.h glx_mangle.h glxext.h \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering mesa_wgl.h osmesa.h vms_x_fix.h wglext.h wmesa.h
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringHEADERS_TO_DIRECT_LINK = GLwDrawA.h GLwDrawAP.h GLwMDrawA.h GLwMDrawAP.h \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart PoetteringHEADERS_TO_RUNTIME_LINK = gl.h glext.h glx.h glxext.h
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersen# Run just once after all other install steps are done for both 32/64-bit
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersen mkdir -p $(PROTODIR)/usr/include/mesa/internal
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersen mv $(HEADERS_TO_MOVE:%=$(PROTODIR)/usr/include/GL/%) \
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering mv $(PROTODIR)/usr/include/GL/internal/dri_interface.h \
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poettering ln -s ../../mesa/internal/dri_interface.h \
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering -rm -f $(HEADERS_TO_DIRECT_LINK:%=$(PROTODIR)/usr/include/GL/%) \
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering $(HEADERS_TO_RUNTIME_LINK:%=$(PROTODIR)/usr/include/GL/%)
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering ln -s $(HEADERS_TO_DIRECT_LINK:%=../mesa/%) \
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering $(HEADERS_TO_RUNTIME_LINK:%=../../../system/volatile/opengl/include/%) \
e8d2f6cde0af86eece9118718ad0a8a19e1cffecLennart Poettering mkdir -p $(PROTODIR)/usr/lib/GL/$(SUBDIR64) \
7fd1b19bc9e9f5574f2877936b8ac267c7706947Harald Hoyer -rm -f $(PROTODIR)/usr/lib/GL/64 $(PROTODIR)/usr/lib/mesa/64
1dc2ced4646a78b3dee9e3ea44130f938d6425bcZbigniew Jędrzejewski-Szmek ln -s $(SUBDIR64) $(PROTODIR)/usr/lib/GL/64
2968644080fd103062f070e83edd620e0a58c44dZbigniew Jędrzejewski-Szmek ln -s $(SUBDIR64) $(PROTODIR)/usr/lib/mesa/64
2968644080fd103062f070e83edd620e0a58c44dZbigniew Jędrzejewski-Szmek -rm -f $(LIBRARIES_TO_MOVE:%=$(PROTODIR)/usr/lib/mesa/%) \
7fd1b19bc9e9f5574f2877936b8ac267c7706947Harald Hoyer $(LIBRARIES_TO_MOVE:%=$(PROTODIR)/usr/lib/mesa/$(SUBDIR64)/%)
94192cdaf652c9717f15274504ed315126c07a93Zbigniew Jędrzejewski-Szmek mv $(LIBRARIES_TO_MOVE:%=$(PROTODIR)/usr/lib/%) \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering mv $(LIBRARIES_TO_MOVE:%=$(PROTODIR)/usr/lib/$(SUBDIR64)/%) \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering rm -f $(PROTODIR)/usr/lib/mesa/$${l%.1} \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering $(PROTODIR)/usr/lib/mesa/$(SUBDIR64)/$${l%.1} \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering $(PROTODIR)/usr/lib/GL/$(SUBDIR64)/$${l%.1} ; \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s $${l} $(PROTODIR)/usr/lib/mesa/$${l%.1} ; \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s $${l} $(PROTODIR)/usr/lib/GL/$${l%.1} ; \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s $${l} $(PROTODIR)/usr/lib/mesa/$(SUBDIR64)/$${l%.1} ; \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s $${l} $(PROTODIR)/usr/lib/GL/$(SUBDIR64)/$${l%.1} ; \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering (cd $(PROTODIR)/usr/lib ; ln -s $(LIBRARIES_TO_MOVE:%=GL/%) .)
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s $(LIBRARIES_TO_MOVE:%=../GL/$(SUBDIR64)/%) .)
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering -rm -f $(LIBRARIES_TO_DIRECT_LINK:%=$(PROTODIR)/usr/lib/GL/%)
5ecdcf41cbce38c44b399993cb1c356280e0bafdLennart Poettering ln -s $(LIBRARIES_TO_DIRECT_LINK:%=../mesa/%) .)
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering -rm -f $(LIBRARIES_TO_DIRECT_LINK:%=$(PROTODIR)/usr/lib/GL/$(SUBDIR64)/%)
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering (cd $(PROTODIR)/usr/lib/GL/$(SUBDIR64) ; \
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering ln -s $(LIBRARIES_TO_DIRECT_LINK:%=../../mesa/$(SUBDIR64)/%) .)
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering -rm -f $(PROTODIR)/usr/lib/GL/libGL.so.1 \
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering $(PROTODIR)/usr/lib/GL/$(SUBDIR64)/libGL.so.1
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s ../../../system/volatile/opengl/lib/libGL.so.1 \
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek $(PROTODIR)/usr/lib/GL/libGL.so.1
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek ln -s ../../../../system/volatile/opengl/lib/$(SUBDIR64)/libGL.so.1 \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering $(PROTODIR)/usr/lib/GL/$(SUBDIR64)/libGL.so.1
b7def684941808600c344f0be7a2b9fcdda97e0fLennart Poettering mkdir -p $(PROTODIR)/usr/X11/lib/$(SUBDIR64) \
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek -rm -f $(PROTODIR)/usr/X11/lib/GL $(PROTODIR)/usr/X11/lib/mesa
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s ../../lib/GL $(PROTODIR)/usr/X11/lib/GL
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s ../../lib/mesa $(PROTODIR)/usr/X11/lib/mesa
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek $(PROTODIR)/usr/X11/lib/$${l%.1} \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering $(PROTODIR)/usr/X11/lib/$(SUBDIR64)/$${l} \
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering $(PROTODIR)/usr/X11/lib/$(SUBDIR64)/$${l%.1} ; \
5e398e546ea65751e6a774daf828fe06f74434a2Tom Gundersen ln -s $${l} $(PROTODIR)/usr/X11/lib/$${l%.1} ; \
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poettering ln -s GL/$${l} $(PROTODIR)/usr/X11/lib/$${l} ; \
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poettering ln -s $${l} $(PROTODIR)/usr/X11/lib/$(SUBDIR64)/$${l%.1} ; \
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poettering ln -s ../GL/$(SUBDIR64)/$${l} $(PROTODIR)/usr/X11/lib/$(SUBDIR64)/$${l} ; \
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poettering -rm -f $(PROTODIR)/usr/X11/include/GL $(PROTODIR)/usr/X11/include/mesa
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering ln -s ../../include/GL ../../include/mesa $(PROTODIR)/usr/X11/include/