xref: /illumos-gate/usr/src/uts/intel/tavor/Makefile (revision 9e39c5ba00a55fa05777cc94b148296af305e135)
1*9e39c5baSBill Taylor#
2*9e39c5baSBill Taylor# CDDL HEADER START
3*9e39c5baSBill Taylor#
4*9e39c5baSBill Taylor# The contents of this file are subject to the terms of the
5*9e39c5baSBill Taylor# Common Development and Distribution License (the "License").
6*9e39c5baSBill Taylor# You may not use this file except in compliance with the License.
7*9e39c5baSBill Taylor#
8*9e39c5baSBill Taylor# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*9e39c5baSBill Taylor# or http://www.opensolaris.org/os/licensing.
10*9e39c5baSBill Taylor# See the License for the specific language governing permissions
11*9e39c5baSBill Taylor# and limitations under the License.
12*9e39c5baSBill Taylor#
13*9e39c5baSBill Taylor# When distributing Covered Code, include this CDDL HEADER in each
14*9e39c5baSBill Taylor# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*9e39c5baSBill Taylor# If applicable, add the following below this CDDL HEADER, with the
16*9e39c5baSBill Taylor# fields enclosed by brackets "[]" replaced with your own identifying
17*9e39c5baSBill Taylor# information: Portions Copyright [yyyy] [name of copyright owner]
18*9e39c5baSBill Taylor#
19*9e39c5baSBill Taylor# CDDL HEADER END
20*9e39c5baSBill Taylor#
21*9e39c5baSBill Taylor
22*9e39c5baSBill Taylor#
23*9e39c5baSBill Taylor# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24*9e39c5baSBill Taylor# Use is subject to license terms.
25*9e39c5baSBill Taylor#
26*9e39c5baSBill Taylor#	This makefile drives the production of the tavor InfiniBand module
27*9e39c5baSBill Taylor#
28*9e39c5baSBill Taylor#	intel architecture dependent
29*9e39c5baSBill Taylor#
30*9e39c5baSBill Taylor# uts/intel/tavor/Makefile
31*9e39c5baSBill Taylor#
32*9e39c5baSBill Taylor
33*9e39c5baSBill Taylor#
34*9e39c5baSBill Taylor#	Paths to the base of the uts directory trees
35*9e39c5baSBill Taylor#
36*9e39c5baSBill TaylorUTSBASE = ../..
37*9e39c5baSBill Taylor
38*9e39c5baSBill Taylor#
39*9e39c5baSBill Taylor#	Define the module and object file sets.
40*9e39c5baSBill Taylor#
41*9e39c5baSBill TaylorMODULE		= tavor
42*9e39c5baSBill TaylorOBJECTS		= $(TAVOR_OBJS:%=$(OBJS_DIR)/%)
43*9e39c5baSBill TaylorLINTS		= $(TAVOR_OBJS:%.o=$(LINTS_DIR)/%.ln)
44*9e39c5baSBill TaylorROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
45*9e39c5baSBill TaylorCONF_SRCDIR	= $(UTSBASE)/common/io/ib/adapters/tavor
46*9e39c5baSBill TaylorLDFLAGS		+= -dy -Ndrv/ib -Nmisc/ibtl -Nmisc/ibmf
47*9e39c5baSBill TaylorWARLOCK_OUT    	= $(TAVOR_OBJS:%.o=%.ll)
48*9e39c5baSBill TaylorWARLOCK_OK	= $(MODULE).ok
49*9e39c5baSBill TaylorWLCMD_DIR	= $(UTSBASE)/common/io/warlock
50*9e39c5baSBill Taylor
51*9e39c5baSBill Taylor#
52*9e39c5baSBill Taylor#	Include common rules.
53*9e39c5baSBill Taylor#
54*9e39c5baSBill Taylorinclude $(UTSBASE)/intel/Makefile.intel
55*9e39c5baSBill Taylor
56*9e39c5baSBill Taylor#
57*9e39c5baSBill Taylor#	Define targets
58*9e39c5baSBill Taylor#
59*9e39c5baSBill TaylorALL_TARGET	= $(BINARY) $(SRC_CONFFILE)
60*9e39c5baSBill TaylorLINT_TARGET	= $(MODULE).lint
61*9e39c5baSBill TaylorINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
62*9e39c5baSBill Taylor
63*9e39c5baSBill Taylor#
64*9e39c5baSBill Taylor#	Overrides
65*9e39c5baSBill Taylor#
66*9e39c5baSBill Taylor
67*9e39c5baSBill Taylor#
68*9e39c5baSBill Taylor# Build with no debug TNF probes enabled (by default)
69*9e39c5baSBill Taylor#
70*9e39c5baSBill Taylor#DEBUG_DEFS_DBG32 += -DTNF_DEBUG
71*9e39c5baSBill Taylor#DEBUG_DEFS_DBG64 += -DTNF_DEBUG
72*9e39c5baSBill Taylor
73*9e39c5baSBill Taylor#
74*9e39c5baSBill Taylor# lint pass one enforcement
75*9e39c5baSBill Taylor#
76*9e39c5baSBill TaylorCFLAGS += $(CCVERBOSE)
77*9e39c5baSBill Taylor
78*9e39c5baSBill Taylor#
79*9e39c5baSBill Taylor# For now, disable these lint checks; maintainers should endeavor
80*9e39c5baSBill Taylor# to investigate and remove these for maximum lint coverage.
81*9e39c5baSBill Taylor# Please do not carry these forward to new Makefiles.
82*9e39c5baSBill Taylor#
83*9e39c5baSBill TaylorLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
84*9e39c5baSBill TaylorLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
85*9e39c5baSBill TaylorLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
86*9e39c5baSBill Taylor
87*9e39c5baSBill Taylor#
88*9e39c5baSBill Taylor#	Default build targets.
89*9e39c5baSBill Taylor#
90*9e39c5baSBill Taylor.KEEP_STATE:
91*9e39c5baSBill Taylor
92*9e39c5baSBill Taylordef:		$(DEF_DEPS)
93*9e39c5baSBill Taylor
94*9e39c5baSBill Taylorall:		$(ALL_DEPS)
95*9e39c5baSBill Taylor
96*9e39c5baSBill Taylorclean:		$(CLEAN_DEPS)
97*9e39c5baSBill Taylor		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
98*9e39c5baSBill Taylor
99*9e39c5baSBill Taylorclobber:	$(CLOBBER_DEPS)
100*9e39c5baSBill Taylor		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
101*9e39c5baSBill Taylor
102*9e39c5baSBill Taylorlint:		$(LINT_DEPS)
103*9e39c5baSBill Taylor
104*9e39c5baSBill Taylormodlintlib:	$(MODLINTLIB_DEPS)
105*9e39c5baSBill Taylor
106*9e39c5baSBill Taylorclean.lint:	$(CLEAN_LINT_DEPS)
107*9e39c5baSBill Taylor
108*9e39c5baSBill Taylorinstall:	$(INSTALL_DEPS)
109*9e39c5baSBill Taylor
110*9e39c5baSBill Taylor#
111*9e39c5baSBill Taylor#	Include common targets.
112*9e39c5baSBill Taylor#
113*9e39c5baSBill Taylorinclude $(UTSBASE)/intel/Makefile.targ
114*9e39c5baSBill Taylor
115*9e39c5baSBill Taylor
116*9e39c5baSBill Taylor#
117*9e39c5baSBill Taylor#	Defines for local commands.
118*9e39c5baSBill Taylor#
119*9e39c5baSBill TaylorWARLOCK         = warlock
120*9e39c5baSBill TaylorWLCC            = wlcc
121*9e39c5baSBill TaylorTOUCH           = touch
122*9e39c5baSBill TaylorTEST            = test
123*9e39c5baSBill Taylor
124*9e39c5baSBill Taylorwarlock: $(WARLOCK_OK)
125*9e39c5baSBill Taylor
126*9e39c5baSBill Taylor$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files $(WLCMD_DIR)/tavor.wlcmd
127*9e39c5baSBill Taylor	$(WARLOCK) -c $(WLCMD_DIR)/tavor.wlcmd $(WARLOCK_OUT) -l \
128*9e39c5baSBill Taylor	$(UTSBASE)/intel/warlock/ddi_dki_impl.ll
129*9e39c5baSBill Taylor	$(TOUCH) $@
130*9e39c5baSBill Taylor
131*9e39c5baSBill Taylor%.ll: $(UTSBASE)/common/io/ib/adapters/tavor/%.c
132*9e39c5baSBill Taylor	$(WLCC)  $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
133*9e39c5baSBill Taylor
134*9e39c5baSBill Taylorwarlock_ddi.files:
135*9e39c5baSBill Taylor	@cd $(UTSBASE)/intel/warlock; pwd; $(MAKE) warlock
136