Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder#
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian Maeder# CDDL HEADER START
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# The contents of this file are subject to the terms of the
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder# Common Development and Distribution License (the "License").
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# or http://www.opensolaris.org/os/licensing.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# See the License for the specific language governing permissions
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder# and limitations under the License.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder#
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder# When distributing Covered Code, include this CDDL HEADER in each
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maeder# CDDL HEADER END
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich# uts/intel/hxge/Makefile
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder#
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder#
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder# This makefile drives the production of the Sun
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder# 10G hxge Ethernet leaf driver kernel module.
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
74eed04be26f549d2f7ca35c370e1c03879b28b1Christian Maeder# Path to the base of the uts directory tree (usually /usr/src/uts).
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder#
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian MaederUTSBASE = ../..
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder#
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder# Define the module and object file sets.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederMODULE = hxge
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederHXGE_OBJECTS = $(HXGE_OBJS) $(HXGE_HPI_OBJS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederOBJECTS = $(HXGE_OBJECTS:%=$(OBJS_DIR)/%)
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian MaederLINTS = $(HXGE_OBJECTS:%.o=$(LINTS_DIR)/%.ln)
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaederROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaederCONF_SRCDIR = $(UTSBASE)/common/io/hxge
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder#
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder# Include common rules.
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder#
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maederinclude $(UTSBASE)/intel/Makefile.intel
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maeder#
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder# Override defaults to build a unique, local modstubs.o.
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder#
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian MaederMODSTUBS_DIR = $(OBJS_DIR)
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder
05a62e84edac8c64de04f8349dee418598d216b9Christian MaederCLEANFILES += $(MODSTUBS_O)
05a62e84edac8c64de04f8349dee418598d216b9Christian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder#
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder# Define targets
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder#
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian MaederALL_TARGET = $(BINARY)
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian MaederLINT_TARGET = $(MODULE).lint
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian MaederINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder#
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder# Include hxge specific header files
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder#
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik DietrichINC_PATH += -I$(UTSBASE)/common/io/hxge
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder#
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder#
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder# lint pass one enforcement
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder#
014dc30f64ec25e4790cca987d4d1e6635430510Christian MaederCFLAGS += -DSOLARIS
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich#
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder# Debug flags
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder#
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder# CFLAGS += -DHXGE_DEBUG -DHPI_DEBUG
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
498aa48bdb931ab50990d3b74318a5db2312186cChristian MaederLINTFLAGS += -DSOLARIS
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder# STREAMS, DDI API limitations and other ON header file definitions such as ethernet.h
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder# force us to turn off these lint checks.
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederLINTTAGS += -erroff=E_FALSE_LOGICAL_EXPR
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCERRWARN += -_gcc=-Wno-unused-label
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCERRWARN += -_gcc=-Wno-switch
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCERRWARN += -_gcc=-Wno-uninitialized
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCERRWARN += -_gcc=-Wno-parentheses
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder# Driver depends on mac & IP
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederLDFLAGS += -dy -N misc/mac -N drv/ip
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder# Default build targets.
a5e5b8c3e5c11177e5034ef2423813a5d28979edChristian Maeder#
bc8cbf12aa172bf5673b92a9e7a0151d4aa4c315Christian Maeder.KEEP_STATE:
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
2d130d212db7208777ca896a7ecad619a8944971Christian Maederdef: $(DEF_DEPS)
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder
a5e5b8c3e5c11177e5034ef2423813a5d28979edChristian Maederall: $(ALL_DEPS)
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
bc8cbf12aa172bf5673b92a9e7a0151d4aa4c315Christian Maederclean: $(CLEAN_DEPS)
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maederclobber: $(CLOBBER_DEPS)
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
2d130d212db7208777ca896a7ecad619a8944971Christian Maederlint: $(LINT_DEPS)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maedermodlintlib: $(MODLINTLIB_DEPS)
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederclean.lint: $(CLEAN_LINT_DEPS)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
4017ebc0f692820736d796af3110c3b3018c108aChristian Maederinstall: $(INSTALL_DEPS)
a9b59eb2ce961014974276cdae0e9df4419bd212Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder# Include common targets.
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederinclude $(UTSBASE)/intel/Makefile.targ
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder