Makefile revision 98
6ca0e6973c8176100f4a426444823ae5e777e28fsascha###############################################################################
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Use subject to license terms.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Permission is hereby granted, free of charge, to any person obtaining a
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# copy of this software and associated documentation files (the
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# "Software"), to deal in the Software without restriction, including
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# without limitation the rights to use, copy, modify, merge, publish,
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# distribute, and/or sell copies of the Software, and to permit persons
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# to whom the Software is furnished to do so, provided that the above
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# copyright notice(s) and this permission notice appear in all copies of
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# the Software and that both the above copyright notice(s) and this
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# permission notice appear in supporting documentation.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# Except as contained in this notice, the name of a copyright holder
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# shall not be used in advertising or otherwise to promote the sale, use
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# or other dealings in this Software without prior written authorization
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# of the copyright holder.
6ca0e6973c8176100f4a426444823ae5e777e28fsascha#
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# @(#)Makefile 1.4 07/01/31
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha#
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaPWD:sh=pwd
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaTOP=$(PWD)/../..
e50587e6b2ff25bdcbe29410be5bf8f4792016eegregames
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Build 32-bit, 64-bit, or both?
0d9c389e9c63d02edb068917d49af2fa8012af91marcBUILD_TYPES=32
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
dadf206a4cf1eccf5c13b64bd9678610dd763868rbb# Version number (used in path names)
dadf206a4cf1eccf5c13b64bd9678610dd763868rbbMESA_VERS=6.5.2
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Source tarball
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaSOURCE_TARBALL_NAME=MesaDemos-$(MESA_VERS).tar.bz2
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Download site for source
5f69f46ccdf50afd8f0a23f134746e6066185e89rbbSOURCE_URL=http://easynews.dl.sourceforge.net/sourceforge/mesa3d/$(SOURCE_TARBALL_NAME)
12b0070d002520b81a273ae892b9ea08e810b123rbb
6ca0e6973c8176100f4a426444823ae5e777e28fsascha# Patches to apply to source after unpacking, in order
886cd69ebf69e990dbc365be87ff8ea7cd681904rbbSOURCE_PATCHES= \
6ca0e6973c8176100f4a426444823ae5e777e28fsascha null-display.patch \
305a68a1a5db3cc264077d89b3caa6f923257150fielding Xorg-6.9-changes.patch
7bfe076b680e6e591add6cdc754ce9a6910682a2sascha
105475009f541187ba7a14a367547d9404c578befielding# Directory created by unpacking source
105475009f541187ba7a14a367547d9404c578befieldingSOURCE_DIR=$(BUILD_DIR)/Mesa-$(MESA_VERS)
7bfe076b680e6e591add6cdc754ce9a6910682a2sascha
f07a80771bc5d30b1e0cfcb7256c1a302da77675rbb# Binaries built in tree
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaGLXGEARS_BIN=$(SOURCE_DIR)/progs/xdemos/glxgears
9022fa73d4ac101553e7c36a1457ead52a73333borlikowskiGLXINFO_BIN=$(SOURCE_DIR)/progs/xdemos/glxinfo
9022fa73d4ac101553e7c36a1457ead52a73333borlikowski
105475009f541187ba7a14a367547d9404c578befielding# Where to install files
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaMESA_prefix=$(PROTODIR)/usr/X11
105475009f541187ba7a14a367547d9404c578befielding
105475009f541187ba7a14a367547d9404c578befielding# What to build
105475009f541187ba7a14a367547d9404c578befieldingBUILD_TARGETS=$(GLXGEARS_BIN) $(GLXINFO_BIN)
105475009f541187ba7a14a367547d9404c578befielding
105475009f541187ba7a14a367547d9404c578befielding### Include common rulesets
105475009f541187ba7a14a367547d9404c578befieldinginclude $(TOP)/common/Makefile.inc
105475009f541187ba7a14a367547d9404c578befielding
105475009f541187ba7a14a367547d9404c578befielding### Rules specific to this directory:
105475009f541187ba7a14a367547d9404c578befielding
105475009f541187ba7a14a367547d9404c578befielding# Merge in additional sources from Mesa library sun-src directory
105475009f541187ba7a14a367547d9404c578befieldingsource_gen:: $(LNDIR)
105475009f541187ba7a14a367547d9404c578befielding mkdir -p $(SOURCE_DIR)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha (cd $(SOURCE_DIR) && $(LNDIR) ../../../../lib/mesa/sun-src)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha (cd $(SOURCE_DIR)/configs && touch default)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6a1c919219ae7e3382fb22f1c4cf89f11b4becffcoar# Only care about building X demos
ce8d7a0627c0f246376cccd980463f8250a6a97ebjhDEMOS_DIR=$(SOURCE_DIR)/progs/xdemos
ce8d7a0627c0f246376cccd980463f8250a6a97ebjh
ce8d7a0627c0f246376cccd980463f8250a6a97ebjh# Mesa config file names
ce8d7a0627c0f246376cccd980463f8250a6a97ebjhMESA_CFG_32_sun4=sunos5-v8
cdb58be93a9cbeaba1ebc759b48aa8ed519675a9bjhMESA_CFG_64_sun4=sunos5-v9
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaMESA_CFG_32_i86pc=solaris-x86-cc-dri
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaMESA_CFG_64_i86pc=solaris-x64-cc-dri
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaMESA_CFG_32:sh=arch | sed 's/^\(.*\)$/\$\(MESA_CFG_32_\1\)/'
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaMESA_CFG_64:sh=arch | sed 's/^\(.*\)$/\$\(MESA_CFG_64_\1\)/'
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaBUILD_32_FLAGS= MESA_CFG=$(MESA_CFG_32)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaBUILD_64_FLAGS= MESA_CFG=$(MESA_CFG_64)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha# Build Mesa demos
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha$(GLXGEARS_BIN): $(UNPACK_TARGET)
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)" glxgears )
3a47c2ef905c3b6483279637fb8054ca67c5b6ddsascha
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha$(GLXINFO_BIN): $(UNPACK_TARGET)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)" glxinfo )
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj# For testing - we don't ship the rest of these
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojall-xdemos_gen: $(UNPACK_TARGET)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj (cd $(SOURCE_DIR)/configs && rm -f current && ln -s $(MESA_CFG) current)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj (cd $(DEMOS_DIR) && $(MAKE) $(MFLAGS) LDFLAGS="$(PROG_LDFLAGS)")
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojall-xdemos:
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj $(MAKE) $(MFLAGS) BUILD_DIR=$(BUILD_DIR_32) ARCH_FLAGS="$(ARCH32_FLAGS)" $(BUILD_32_FLAGS) all-xdemos_gen
b90c64e517df3fe1c97806830f84a30362187f0afielding
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojinstall_gen: $(GLXGEARS_BIN) $(GLXINFO_BIN)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj cp -p $(GLXGEARS_BIN) $(GLXINFO_BIN) $(MESA_prefix)/bin
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
b90c64e517df3fe1c97806830f84a30362187f0afielding
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj