xref: /titanic_44/usr/src/uts/sparc/pcieb/Makefile (revision d4bc0535efa2c2219e9f83246a5f371dc7f94273)
1*d4bc0535SKrishna Elango#
2*d4bc0535SKrishna Elango# CDDL HEADER START
3*d4bc0535SKrishna Elango#
4*d4bc0535SKrishna Elango# The contents of this file are subject to the terms of the
5*d4bc0535SKrishna Elango# Common Development and Distribution License (the "License").
6*d4bc0535SKrishna Elango# You may not use this file except in compliance with the License.
7*d4bc0535SKrishna Elango#
8*d4bc0535SKrishna Elango# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*d4bc0535SKrishna Elango# or http://www.opensolaris.org/os/licensing.
10*d4bc0535SKrishna Elango# See the License for the specific language governing permissions
11*d4bc0535SKrishna Elango# and limitations under the License.
12*d4bc0535SKrishna Elango#
13*d4bc0535SKrishna Elango# When distributing Covered Code, include this CDDL HEADER in each
14*d4bc0535SKrishna Elango# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*d4bc0535SKrishna Elango# If applicable, add the following below this CDDL HEADER, with the
16*d4bc0535SKrishna Elango# fields enclosed by brackets "[]" replaced with your own identifying
17*d4bc0535SKrishna Elango# information: Portions Copyright [yyyy] [name of copyright owner]
18*d4bc0535SKrishna Elango#
19*d4bc0535SKrishna Elango# CDDL HEADER END
20*d4bc0535SKrishna Elango#
21*d4bc0535SKrishna Elango#
22*d4bc0535SKrishna Elango# uts/sparc/pcieb/Makefile
23*d4bc0535SKrishna Elango#
24*d4bc0535SKrishna Elango# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
25*d4bc0535SKrishna Elango# Use is subject to license terms.
26*d4bc0535SKrishna Elango#
27*d4bc0535SKrishna Elango#	This makefile drives the production of the pcieb driver kernel module
28*d4bc0535SKrishna Elango#
29*d4bc0535SKrishna Elango#	sparc implementation architecture dependent
30*d4bc0535SKrishna Elango#
31*d4bc0535SKrishna Elango
32*d4bc0535SKrishna Elango#
33*d4bc0535SKrishna Elango#	Path to the base of the uts directory tree (usually /usr/src/uts).
34*d4bc0535SKrishna Elango#
35*d4bc0535SKrishna ElangoUTSBASE	= ../..
36*d4bc0535SKrishna Elango
37*d4bc0535SKrishna Elango#
38*d4bc0535SKrishna Elango#	Define the module and object file sets.
39*d4bc0535SKrishna Elango#
40*d4bc0535SKrishna ElangoMODULE		= pcieb
41*d4bc0535SKrishna ElangoOBJECTS		= $(PCIEB_OBJS:%=$(OBJS_DIR)/%)
42*d4bc0535SKrishna ElangoLINTS		= $(PCIEB_OBJS:%.o=$(LINTS_DIR)/%.ln)
43*d4bc0535SKrishna ElangoROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
44*d4bc0535SKrishna ElangoCONF_SRCDIR	= $(UTSBASE)/common/io/pciex/
45*d4bc0535SKrishna Elango
46*d4bc0535SKrishna Elango#
47*d4bc0535SKrishna Elango#	Include common rules.
48*d4bc0535SKrishna Elango#
49*d4bc0535SKrishna Elangoinclude $(UTSBASE)/sparc/Makefile.sparc
50*d4bc0535SKrishna Elango
51*d4bc0535SKrishna Elango#
52*d4bc0535SKrishna Elango#	Define targets
53*d4bc0535SKrishna Elango#
54*d4bc0535SKrishna ElangoALL_TARGET	= $(BINARY) $(SRC_CONFFILE)
55*d4bc0535SKrishna ElangoLINT_TARGET	= $(MODULE).lint
56*d4bc0535SKrishna ElangoINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
57*d4bc0535SKrishna Elango
58*d4bc0535SKrishna Elango#
59*d4bc0535SKrishna Elango# lint pass one enforcement
60*d4bc0535SKrishna Elango#
61*d4bc0535SKrishna ElangoCFLAGS += $(CCVERBOSE)
62*d4bc0535SKrishna Elango
63*d4bc0535SKrishna Elango#
64*d4bc0535SKrishna Elango# Turn on doubleword alignment for 64 bit registers
65*d4bc0535SKrishna Elango#
66*d4bc0535SKrishna ElangoCFLAGS += -dalign
67*d4bc0535SKrishna Elango
68*d4bc0535SKrishna Elango#
69*d4bc0535SKrishna Elango# Enable PLX workaround code and lint duplicate symbol
70*d4bc0535SKrishna Elango# avoidance hack
71*d4bc0535SKrishna Elango#
72*d4bc0535SKrishna ElangoCPPFLAGS += -DPX_PLX
73*d4bc0535SKrishna Elango
74*d4bc0535SKrishna Elango#
75*d4bc0535SKrishna Elango#	Dependency
76*d4bc0535SKrishna Elango#
77*d4bc0535SKrishna ElangoLDFLAGS += -dy -Nmisc/pcie -Nmisc/pcishpc -Nmisc/pcihp -Nmisc/pciehpc
78*d4bc0535SKrishna Elango
79*d4bc0535SKrishna Elango#
80*d4bc0535SKrishna Elango# For now, disable these lint checks; maintainers should endeavor
81*d4bc0535SKrishna Elango# to investigate and remove these for maximum lint coverage.
82*d4bc0535SKrishna Elango# Please do not carry these forward to new Makefiles.
83*d4bc0535SKrishna Elango#
84*d4bc0535SKrishna ElangoLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
85*d4bc0535SKrishna ElangoLINTTAGS	+= -erroff=E_STATIC_UNUSED
86*d4bc0535SKrishna Elango
87*d4bc0535SKrishna Elango#
88*d4bc0535SKrishna Elango#	Default build targets.
89*d4bc0535SKrishna Elango#
90*d4bc0535SKrishna Elango.KEEP_STATE:
91*d4bc0535SKrishna Elango
92*d4bc0535SKrishna Elangodef:		$(DEF_DEPS)
93*d4bc0535SKrishna Elango
94*d4bc0535SKrishna Elangoall:		$(ALL_DEPS)
95*d4bc0535SKrishna Elango
96*d4bc0535SKrishna Elangoclean:		$(CLEAN_DEPS)
97*d4bc0535SKrishna Elango
98*d4bc0535SKrishna Elangoclobber:	$(CLOBBER_DEPS)
99*d4bc0535SKrishna Elango
100*d4bc0535SKrishna Elangolint:		$(LINT_DEPS)
101*d4bc0535SKrishna Elango
102*d4bc0535SKrishna Elangomodlintlib:	$(MODLINTLIB_DEPS)
103*d4bc0535SKrishna Elango
104*d4bc0535SKrishna Elangoclean.lint:	$(CLEAN_LINT_DEPS)
105*d4bc0535SKrishna Elango
106*d4bc0535SKrishna Elangoinstall:	$(INSTALL_DEPS)
107*d4bc0535SKrishna Elango
108*d4bc0535SKrishna Elango#
109*d4bc0535SKrishna Elango#	Include common targets.
110*d4bc0535SKrishna Elango#
111*d4bc0535SKrishna Elangoinclude $(UTSBASE)/sparc/Makefile.targ
112