Makefile.inc revision 1316
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# -*- Makefile -*- rules common to all X.Org drivers
9384cec630155c229c70dfb8a445c6ccf433045aJohann 'Myrkraverk' Oskarsson#
d15978eab6c23a98f0a5474466d5fe9b1be3ca9bGary Mills# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
e50226eccc6dfcba3cc6f0df38438900e3df225cYuri Pankov#
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Permission is hereby granted, free of charge, to any person obtaining a
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# copy of this software and associated documentation files (the "Software"),
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# to deal in the Software without restriction, including without limitation
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# the rights to use, copy, modify, merge, publish, distribute, sublicense,
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# and/or sell copies of the Software, and to permit persons to whom the
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Software is furnished to do so, subject to the following conditions:
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore#
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# The above copyright notice and this permission notice (including the next
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# paragraph) shall be included in all copies or substantial portions of the
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Software.
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore#
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# DEALINGS IN THE SOFTWARE.
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore#
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore#
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmorePWD:sh=pwd
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreTOP=$(PWD)/../../..
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE=driver
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore### Include common definitions
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amoreinclude $(TOP)/open-src/common/Makefile.init
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Determine from MODULE_NAME if this is a video or input driver
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreDRIVER_CLASS_V=$(MODULE_NAME:xf86-video-%=video)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreDRIVER_CLASS=$(DRIVER_CLASS_V:xf86-input-%=input)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreDRIVER_NAME=$(MODULE_NAME:xf86-$(DRIVER_CLASS)-%=%)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Hierarchical parent for pkg names in this area
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_PKGHIER=x11/server/xorg/driver
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_PKGHIER_SET=yes
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Default pkg names for drivers - map xf86- to xorg- in names
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODULE_PKGTAIL_DEFAULT = $(MODULE_PKGTAIL_SET:yes=$(POUND_SIGN))
e50226eccc6dfcba3cc6f0df38438900e3df225cYuri Pankov$(MODULE_PKGTAIL_DEFAULT) MODULE_PKGTAIL=$(MODULE_NAME:xf86-%=xorg-%)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(MODULE_PKGTAIL_DEFAULT) MODULE_PKGTAIL_SET=yes
e50226eccc6dfcba3cc6f0df38438900e3df225cYuri Pankov
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Package classification - must be a valid value recognized by pkg gui
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODULE_PKGCLASS_input = Drivers/Other Peripherals
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODULE_PKGCLASS_video = Drivers/Display
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODULE_PKGCLASS_DEFAULT = $(MODULE_PKGCLASS_SET:yes=$(POUND_SIGN))
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(MODULE_PKGCLASS_DEFAULT) MODULE_PKGCLASS=$(MODULE_PKGCLASS_$(DRIVER_CLASS))
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(MODULE_PKGCLASS_DEFAULT) MODULE_PKGCLASS_SET=yes
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Additional command line options to GNU autoconf configure script
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CONFIG_OPTS = \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore --docdir='$(X11_DOC_DIR)' \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore --with-xorg-module-dir='$(X11_SERVERMODS_DIR)'
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Set comments in ELF binaries to help identify versions/builds
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_ADD_BUILD_TARGETS=set-elf-comments
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CPPFLAGS= $(PROG_CPPFLAGS) \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore -I$(PROTODIR)/usr/include \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore -I$(PROTODIR)/usr/include/pixman-1 \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore -I$(PROTODIR)$(XORG_SDK_INCLUDES_DIR) \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore -I$(PROTODIR)$(X11_INCLUDES_DIR)/drm \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore -I$(PROTODIR)$(X11_INCLUDES_DIR)/X11/dri
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS=$(PROG_CFLAGS)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreASM_IL_DIR = $(PROTODIR)$(XORG_SDK_INCLUDES_DIR)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_suncc_i386_32 = $(ASM_IL_DIR)/solaris-ia32.il
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_suncc_i386_64 = $(ASM_IL_DIR)/solaris-amd64.il
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_suncc_sparc_32 = $(ASM_IL_DIR)/solaris-sparcv8plus.il
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_suncc_sparc_64 = $(ASM_IL_DIR)/solaris-sparcv8plus.il
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS += $(MODTYPE_CFLAGS_$(MODULE_COMPILER)_$(MACH)_$(BUILD_TYPE))
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Replaces @symbol_visibilty@ in xorg-server.pc, since that fails when
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# some drivers are compiled with a different compiler than the server
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_suncc_common = -xldscope=hidden
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS_gcc_common = # -fvisibility=hidden - doesn't work with gcc 3.4.3
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_CFLAGS += $(MODTYPE_CFLAGS_$(MODULE_COMPILER)_common)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_LDFLAGS=$(LDFLAGS) -R/lib$(ARCHLIBSUBDIR)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreXORG_EXTERNS_FLAG = -z parent=$(PROTODIR)$(X11_BIN_DIR)/Xorg
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreDEFAULT_MODTYPE_LD_OPTIONS = -z defs $(XORG_EXTERNS_FLAG) -z ignore -lc
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(USE_DEFAULT_MODTYPE_LD_OPTIONS:no=$(POUND_SIGN)) MODTYPE_LD_OPTIONS = $(DEFAULT_MODTYPE_LD_OPTIONS)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(BUILD_DEBUG:yes=) MODTYPE_DEBUG_LD_OPTIONS = -lpixman-1
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore$(BUILD_DEBUG:yes=$(POUND_SIGN)) MODTYPE_DEBUG_LD_OPTIONS =
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_LD_OPTIONS += $(MODTYPE_DEBUG_LD_OPTIONS)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Need to fix libtool interference with our linker flags
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreDELIBTOOLIZE=yes
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# Mark packages as only compatible with the current Xorg minor release series,
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore# since Xorg tends to break ABI's in each minor release train (1.8, 1.9, etc.)
84441f85b19f6b8080883f30109e58e43c893709Garrett D'AmoreMODTYPE_ATTRDATA_COMMANDS = @$(START_CMD_ECHO) ; \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore print "depend fmri=pkg:/x11/server/xorg@$(MIN_XSERVER_VERS) type=optional" >> $@ ; \
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore print "depend fmri=pkg:/x11/server/xorg@$(NEXT_XSERVER_VERS) type=exclude" >> $@
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore### Include common rules
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amoreinclude $(TOP)/open-src/common/Makefile.inc
84441f85b19f6b8080883f30109e58e43c893709Garrett D'Amore