Makefile revision 98
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe###############################################################################
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe#
96a3e7182f6ab9eaff6c94fc31a162b59b2827dand# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
2ad080048d86cc499a05750422d99a4b54da9e6dwrowe# Use subject to license terms.
2ad080048d86cc499a05750422d99a4b54da9e6dwrowe#
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe# Permission is hereby granted, free of charge, to any person obtaining a
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe# copy of this software and associated documentation files (the
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# "Software"), to deal in the Software without restriction, including
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# without limitation the rights to use, copy, modify, merge, publish,
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# distribute, and/or sell copies of the Software, and to permit persons
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# to whom the Software is furnished to do so, provided that the above
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz# copyright notice(s) and this permission notice appear in all copies of
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz# the Software and that both the above copyright notice(s) and this
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz# permission notice appear in supporting documentation.
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz#
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6f51bbc3054846e0c0a897d5f16ceba1726bebc6jerenkrantz# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
ff920f8ae37ba372801b67ea7c3d5bf1dfb55585dreid# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
ff920f8ae37ba372801b67ea7c3d5bf1dfb55585dreid# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
ff920f8ae37ba372801b67ea7c3d5bf1dfb55585dreid# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe#
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# Except as contained in this notice, the name of a copyright holder
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# shall not be used in advertising or otherwise to promote the sale, use
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# or other dealings in this Software without prior written authorization
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# of the copyright holder.
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe#
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe# @(#)Makefile 1.4 07/01/31
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe#
998d56ea74f8cc733b423da076dadb0fd0a789f3wrowe
ff920f8ae37ba372801b67ea7c3d5bf1dfb55585dreidPWD:sh=pwd
a601d863bd772fefc4dc82a883589d8be6a44811wroweTOP=$(PWD)/../..
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# Build 32-bit, 64-bit, or both?
998a0c99bc22357406f359ace2f602c5d6e376c6wroweBUILD_TYPES=32
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# Version number (used in path names)
a601d863bd772fefc4dc82a883589d8be6a44811wroweMESA_VERS=6.5.2
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# Source tarball
998a0c99bc22357406f359ace2f602c5d6e376c6wroweSOURCE_TARBALL_NAME=MesaDemos-$(MESA_VERS).tar.bz2
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# Download site for source
a601d863bd772fefc4dc82a883589d8be6a44811wroweSOURCE_URL=http://easynews.dl.sourceforge.net/sourceforge/mesa3d/$(SOURCE_TARBALL_NAME)
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# Patches to apply to source after unpacking, in order
a601d863bd772fefc4dc82a883589d8be6a44811wroweSOURCE_PATCHES= \
a601d863bd772fefc4dc82a883589d8be6a44811wrowe null-display.patch \
a601d863bd772fefc4dc82a883589d8be6a44811wrowe Xorg-6.9-changes.patch
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
a601d863bd772fefc4dc82a883589d8be6a44811wrowe# Directory created by unpacking source
a601d863bd772fefc4dc82a883589d8be6a44811wroweSOURCE_DIR=$(BUILD_DIR)/Mesa-$(MESA_VERS)
a601d863bd772fefc4dc82a883589d8be6a44811wrowe
fc9e01023a2fb7f7af9b25621ab080bbe7a95611jerenkrantz# Binaries built in tree
a601d863bd772fefc4dc82a883589d8be6a44811wroweGLXGEARS_BIN=$(SOURCE_DIR)/progs/xdemos/glxgears
998a0c99bc22357406f359ace2f602c5d6e376c6wroweGLXINFO_BIN=$(SOURCE_DIR)/progs/xdemos/glxinfo
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# Where to install files
998a0c99bc22357406f359ace2f602c5d6e376c6wroweMESA_prefix=$(PROTODIR)/usr/X11
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe# What to build
998a0c99bc22357406f359ace2f602c5d6e376c6wroweBUILD_TARGETS=$(GLXGEARS_BIN) $(GLXINFO_BIN)
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe### Include common rulesets
998a0c99bc22357406f359ace2f602c5d6e376c6wroweinclude $(TOP)/common/Makefile.inc
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe### Rules specific to this directory:
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp# Merge in additional sources from Mesa library sun-src directory
ac901b38303d566fa40041abc9f3f9253afd6bd4brianpsource_gen:: $(LNDIR)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp mkdir -p $(SOURCE_DIR)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp (cd $(SOURCE_DIR) && $(LNDIR) ../../../../lib/mesa/sun-src)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp (cd $(SOURCE_DIR)/configs && touch default)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp# Only care about building X demos
ac901b38303d566fa40041abc9f3f9253afd6bd4brianpDEMOS_DIR=$(SOURCE_DIR)/progs/xdemos
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp
bfae8a5d3c37df19dea49b411b109198c7e84a4fbrianp# Mesa config file names
bfae8a5d3c37df19dea49b411b109198c7e84a4fbrianpMESA_CFG_32_sun4=sunos5-v8
bfae8a5d3c37df19dea49b411b109198c7e84a4fbrianpMESA_CFG_64_sun4=sunos5-v9
7dfb10a15cdfd48a23a9aa5713a2deb129821761wroweMESA_CFG_32_i86pc=solaris-x86-cc-dri
7dfb10a15cdfd48a23a9aa5713a2deb129821761wroweMESA_CFG_64_i86pc=solaris-x64-cc-dri
998a0c99bc22357406f359ace2f602c5d6e376c6wrowe
998a0c99bc22357406f359ace2f602c5d6e376c6wroweMESA_CFG_32:sh=arch | sed 's/^\(.*\)$/\$\(MESA_CFG_32_\1\)/'
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gsteinMESA_CFG_64:sh=arch | sed 's/^\(.*\)$/\$\(MESA_CFG_64_\1\)/'
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp
ac901b38303d566fa40041abc9f3f9253afd6bd4brianpBUILD_32_FLAGS= MESA_CFG=$(MESA_CFG_32)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianpBUILD_64_FLAGS= MESA_CFG=$(MESA_CFG_64)
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp
ac901b38303d566fa40041abc9f3f9253afd6bd4brianp# Build Mesa demos
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein$(GLXGEARS_BIN): $(UNPACK_TARGET)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)" glxgears )
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein$(GLXINFO_BIN): $(UNPACK_TARGET)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)" glxinfo )
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein# For testing - we don't ship the rest of these
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gsteinall-xdemos_gen: $(UNPACK_TARGET)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)")
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gsteinall-xdemos:
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein $(MAKE) $(MFLAGS) BUILD_DIR=$(BUILD_DIR_32) ARCH_FLAGS="$(ARCH32_FLAGS)" $(BUILD_32_FLAGS) all-xdemos_gen
27ddebab333df2a3d82b0f4ea63878d1d9f38ae8gstein
cdc56e100a8fa11e989d1633914502db1c8e0818wroweinstall_gen: $(GLXGEARS_BIN) $(GLXINFO_BIN)
cdc56e100a8fa11e989d1633914502db1c8e0818wrowe cp -p $(GLXGEARS_BIN) $(GLXINFO_BIN) $(MESA_prefix)/bin
cdc56e100a8fa11e989d1633914502db1c8e0818wrowe
cdc56e100a8fa11e989d1633914502db1c8e0818wrowe
29b927351fa38aca768d31d70116acd0a71ed415jerenkrantz