xref: /titanic_44/usr/src/uts/intel/ibdma/Makefile (revision 1bdd6c0e3710e91cb1f31aa78de33cb638494480)
1*1bdd6c0eSSue Gleeson#
2*1bdd6c0eSSue Gleeson# CDDL HEADER START
3*1bdd6c0eSSue Gleeson#
4*1bdd6c0eSSue Gleeson# The contents of this file are subject to the terms of the
5*1bdd6c0eSSue Gleeson# Common Development and Distribution License (the "License").
6*1bdd6c0eSSue Gleeson# You may not use this file except in compliance with the License.
7*1bdd6c0eSSue Gleeson#
8*1bdd6c0eSSue Gleeson# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*1bdd6c0eSSue Gleeson# or http://www.opensolaris.org/os/licensing.
10*1bdd6c0eSSue Gleeson# See the License for the specific language governing permissions
11*1bdd6c0eSSue Gleeson# and limitations under the License.
12*1bdd6c0eSSue Gleeson#
13*1bdd6c0eSSue Gleeson# When distributing Covered Code, include this CDDL HEADER in each
14*1bdd6c0eSSue Gleeson# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*1bdd6c0eSSue Gleeson# If applicable, add the following below this CDDL HEADER, with the
16*1bdd6c0eSSue Gleeson# fields enclosed by brackets "[]" replaced with your own identifying
17*1bdd6c0eSSue Gleeson# information: Portions Copyright [yyyy] [name of copyright owner]
18*1bdd6c0eSSue Gleeson#
19*1bdd6c0eSSue Gleeson# CDDL HEADER END
20*1bdd6c0eSSue Gleeson#
21*1bdd6c0eSSue Gleeson#
22*1bdd6c0eSSue Gleeson# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23*1bdd6c0eSSue Gleeson# Use is subject to license terms.
24*1bdd6c0eSSue Gleeson#
25*1bdd6c0eSSue Gleeson#
26*1bdd6c0eSSue Gleeson#	This makefile drives the production of the ibdm kernel module.
27*1bdd6c0eSSue Gleeson#
28*1bdd6c0eSSue Gleeson#	intel architecture dependent
29*1bdd6c0eSSue Gleeson#
30*1bdd6c0eSSue Gleeson
31*1bdd6c0eSSue Gleeson#
32*1bdd6c0eSSue Gleeson#	Path to the base of the uts directory tree (usually /usr/src/uts).
33*1bdd6c0eSSue Gleeson#
34*1bdd6c0eSSue GleesonUTSBASE	= ../..
35*1bdd6c0eSSue Gleeson
36*1bdd6c0eSSue Gleeson#
37*1bdd6c0eSSue Gleeson#	Define the module and object file sets.
38*1bdd6c0eSSue Gleeson#
39*1bdd6c0eSSue GleesonMODULE		= ibdma
40*1bdd6c0eSSue GleesonOBJECTS		= $(IBDMA_OBJS:%=$(OBJS_DIR)/%)
41*1bdd6c0eSSue GleesonLINTS		= $(IBDMA_OBJS:%.o=$(LINTS_DIR)/%.ln)
42*1bdd6c0eSSue GleesonROOTMODULE	= $(ROOT_MISC_DIR)/$(MODULE)
43*1bdd6c0eSSue GleesonWARLOCK_OUT	= $(IBDMA_OBJS:%.o=%.ll)
44*1bdd6c0eSSue GleesonWARLOCK_OK	= $(MODULE).ok
45*1bdd6c0eSSue Gleeson
46*1bdd6c0eSSue Gleeson#
47*1bdd6c0eSSue Gleeson#	Include common rules.
48*1bdd6c0eSSue Gleeson#
49*1bdd6c0eSSue Gleesoninclude $(UTSBASE)/intel/Makefile.intel
50*1bdd6c0eSSue Gleeson
51*1bdd6c0eSSue Gleeson#
52*1bdd6c0eSSue Gleeson#	Define targets
53*1bdd6c0eSSue Gleeson#
54*1bdd6c0eSSue GleesonALL_TARGET	= $(BINARY)
55*1bdd6c0eSSue GleesonLINT_TARGET	= $(MODULE).lint
56*1bdd6c0eSSue GleesonINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
57*1bdd6c0eSSue Gleeson
58*1bdd6c0eSSue Gleeson#
59*1bdd6c0eSSue Gleeson#	Overrides.
60*1bdd6c0eSSue Gleeson#
61*1bdd6c0eSSue Gleeson
62*1bdd6c0eSSue Gleeson#
63*1bdd6c0eSSue Gleeson# lint pass one enforcement
64*1bdd6c0eSSue Gleeson#
65*1bdd6c0eSSue GleesonCFLAGS += $(CCVERBOSE)
66*1bdd6c0eSSue Gleeson
67*1bdd6c0eSSue Gleeson#
68*1bdd6c0eSSue Gleeson#	depends on misc/ibtl, drv/ib and misc/ibmf
69*1bdd6c0eSSue Gleeson#
70*1bdd6c0eSSue GleesonLDFLAGS	+= -dy -Nmisc/ibtl -Nmisc/ibmf
71*1bdd6c0eSSue Gleeson
72*1bdd6c0eSSue Gleeson#
73*1bdd6c0eSSue Gleeson# For now, disable these lint checks; maintainers should endeavor
74*1bdd6c0eSSue Gleeson# to investigate and remove these for maximum lint coverage.
75*1bdd6c0eSSue Gleeson# Please do not carry these forward to new Makefiles.
76*1bdd6c0eSSue Gleeson#
77*1bdd6c0eSSue GleesonLINTTAGS	+= -erroff=E_STATIC_UNUSED
78*1bdd6c0eSSue GleesonLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
79*1bdd6c0eSSue Gleeson
80*1bdd6c0eSSue Gleeson#
81*1bdd6c0eSSue Gleeson#	Default build targets.
82*1bdd6c0eSSue Gleeson#
83*1bdd6c0eSSue Gleeson.KEEP_STATE:
84*1bdd6c0eSSue Gleeson
85*1bdd6c0eSSue Gleesondef:		$(DEF_DEPS)
86*1bdd6c0eSSue Gleeson
87*1bdd6c0eSSue Gleesonall:		$(ALL_DEPS)
88*1bdd6c0eSSue Gleeson
89*1bdd6c0eSSue Gleesonclean:		$(CLEAN_DEPS)
90*1bdd6c0eSSue Gleeson		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
91*1bdd6c0eSSue Gleeson
92*1bdd6c0eSSue Gleesonclobber:	$(CLOBBER_DEPS)
93*1bdd6c0eSSue Gleeson		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
94*1bdd6c0eSSue Gleeson
95*1bdd6c0eSSue Gleesonlint:		$(LINT_DEPS)
96*1bdd6c0eSSue Gleeson
97*1bdd6c0eSSue Gleesonmodlintlib:	$(MODLINTLIB_DEPS)
98*1bdd6c0eSSue Gleeson
99*1bdd6c0eSSue Gleesonclean.lint:	$(CLEAN_LINT_DEPS)
100*1bdd6c0eSSue Gleeson
101*1bdd6c0eSSue Gleesoninstall:	$(INSTALL_DEPS)
102*1bdd6c0eSSue Gleeson
103*1bdd6c0eSSue Gleeson#
104*1bdd6c0eSSue Gleeson#	Include common targets.
105*1bdd6c0eSSue Gleeson#
106*1bdd6c0eSSue Gleesoninclude $(UTSBASE)/intel/Makefile.targ
107*1bdd6c0eSSue Gleeson
108*1bdd6c0eSSue Gleeson
109*1bdd6c0eSSue Gleeson#
110*1bdd6c0eSSue Gleeson#	Defines for local commands.
111*1bdd6c0eSSue Gleeson#
112*1bdd6c0eSSue GleesonWARLOCK		= warlock
113*1bdd6c0eSSue GleesonWLCC		= wlcc
114*1bdd6c0eSSue GleesonTOUCH		= touch
115*1bdd6c0eSSue GleesonTEST		= test
116*1bdd6c0eSSue Gleeson
117*1bdd6c0eSSue Gleesonwarlock: $(WARLOCK_OK)
118*1bdd6c0eSSue Gleeson
119*1bdd6c0eSSue Gleeson
120*1bdd6c0eSSue Gleeson$(WARLOCK_OK): $(WARLOCK_OUT)
121*1bdd6c0eSSue Gleeson	$(TOUCH) $@
122*1bdd6c0eSSue Gleeson
123*1bdd6c0eSSue Gleeson%.ll: $(UTSBASE)/common/io/ib/mgt/ibdma/%.c \
124*1bdd6c0eSSue Gleeson		$(UTSBASE)/common/sys/ib/mgt/ibdma/ibdma_impl.h \
125*1bdd6c0eSSue Gleeson		$(UTSBASE)/common/sys/ib/mgt/ibdma/ibdma.h
126*1bdd6c0eSSue Gleeson	$(WLCC)  $(CPPFLAGS) -DDEBUG -o $@ $<
127