xref: /titanic_50/usr/src/uts/intel/hermon/Makefile (revision 7014882c6a3672fd0e5d60200af8643ae53c5928)
19e39c5baSBill Taylor#
29e39c5baSBill Taylor# CDDL HEADER START
39e39c5baSBill Taylor#
49e39c5baSBill Taylor# The contents of this file are subject to the terms of the
59e39c5baSBill Taylor# Common Development and Distribution License (the "License").
69e39c5baSBill Taylor# You may not use this file except in compliance with the License.
79e39c5baSBill Taylor#
89e39c5baSBill Taylor# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99e39c5baSBill Taylor# or http://www.opensolaris.org/os/licensing.
109e39c5baSBill Taylor# See the License for the specific language governing permissions
119e39c5baSBill Taylor# and limitations under the License.
129e39c5baSBill Taylor#
139e39c5baSBill Taylor# When distributing Covered Code, include this CDDL HEADER in each
149e39c5baSBill Taylor# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
159e39c5baSBill Taylor# If applicable, add the following below this CDDL HEADER, with the
169e39c5baSBill Taylor# fields enclosed by brackets "[]" replaced with your own identifying
179e39c5baSBill Taylor# information: Portions Copyright [yyyy] [name of copyright owner]
189e39c5baSBill Taylor#
199e39c5baSBill Taylor# CDDL HEADER END
209e39c5baSBill Taylor#
219e39c5baSBill Taylor
229e39c5baSBill Taylor#
239e39c5baSBill Taylor# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
249e39c5baSBill Taylor# Use is subject to license terms.
259e39c5baSBill Taylor#
269e39c5baSBill Taylor#	This makefile drives the production of the hermon InfiniBand module
279e39c5baSBill Taylor#
289e39c5baSBill Taylor#	intel architecture dependent
299e39c5baSBill Taylor#
309e39c5baSBill Taylor# uts/intel/hermon/Makefile
319e39c5baSBill Taylor#
329e39c5baSBill Taylor
339e39c5baSBill Taylor#
349e39c5baSBill Taylor#	Path to the base of the uts directory tree (usually /usr/src/uts).
359e39c5baSBill Taylor#
369e39c5baSBill TaylorUTSBASE = ../..
379e39c5baSBill Taylor
389e39c5baSBill Taylor#
399e39c5baSBill Taylor#	Define the module and object file sets.
409e39c5baSBill Taylor#
419e39c5baSBill TaylorMODULE		= hermon
429e39c5baSBill TaylorOBJECTS		= $(HERMON_OBJS:%=$(OBJS_DIR)/%)
439e39c5baSBill TaylorLINTS		= $(HERMON_OBJS:%.o=$(LINTS_DIR)/%.ln)
449e39c5baSBill TaylorROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
459e39c5baSBill TaylorCONF_SRCDIR	= $(UTSBASE)/common/io/ib/adapters/hermon
469e39c5baSBill TaylorLDFLAGS		+= -dy -Ndrv/ib -Nmisc/ibtl -Nmisc/ibmf
479e39c5baSBill TaylorWARLOCK_OUT	= $(HERMON_OBJS:%.o=%.ll)
489e39c5baSBill TaylorWARLOCK_OK	= $(MODULE).ok
499e39c5baSBill TaylorWLCMD_DIR	= $(UTSBASE)/common/io/warlock
509e39c5baSBill Taylor
519e39c5baSBill Taylor#
529e39c5baSBill Taylor#	Include common rules.
539e39c5baSBill Taylor#
549e39c5baSBill Taylorinclude $(UTSBASE)/intel/Makefile.intel
559e39c5baSBill Taylor
569e39c5baSBill Taylor#
579e39c5baSBill Taylor#	Define targets
589e39c5baSBill Taylor#
599e39c5baSBill TaylorALL_TARGET	= $(BINARY) $(SRC_CONFFILE)
609e39c5baSBill TaylorLINT_TARGET	= $(MODULE).lint
619e39c5baSBill TaylorINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
629e39c5baSBill Taylor
639e39c5baSBill Taylor#
649e39c5baSBill Taylor#	Overrides
659e39c5baSBill Taylor#
669e39c5baSBill Taylor
679e39c5baSBill Taylor#
689e39c5baSBill Taylor# Build with no debug TNF probes enabled (by default)
699e39c5baSBill Taylor#
709e39c5baSBill Taylor#DEBUG_DEFS_DBG32 += -DTNF_DEBUG
719e39c5baSBill Taylor#DEBUG_DEFS_DBG64 += -DTNF_DEBUG
729e39c5baSBill Taylor
739e39c5baSBill Taylor#
749e39c5baSBill Taylor# lint pass one enforcement
759e39c5baSBill Taylor#
769e39c5baSBill TaylorCFLAGS += $(CCVERBOSE)
779e39c5baSBill Taylor
78*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-switch
79*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-value
80*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-label
81*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-parentheses
82*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-uninitialized
83*7014882cSRichard Lowe
849e39c5baSBill Taylor#
859e39c5baSBill Taylor#	Default build targets.
869e39c5baSBill Taylor#
879e39c5baSBill Taylor.KEEP_STATE:
889e39c5baSBill Taylor
899e39c5baSBill Taylordef:		$(DEF_DEPS)
909e39c5baSBill Taylor
919e39c5baSBill Taylorall:		$(ALL_DEPS)
929e39c5baSBill Taylor
939e39c5baSBill Taylorclean:		$(CLEAN_DEPS)
949e39c5baSBill Taylor
959e39c5baSBill Taylorclobber:	$(CLOBBER_DEPS)
969e39c5baSBill Taylor
979e39c5baSBill Taylorlint:		$(LINT_DEPS)
989e39c5baSBill Taylor
999e39c5baSBill Taylormodlintlib:	$(MODLINTLIB_DEPS)
1009e39c5baSBill Taylor
1019e39c5baSBill Taylorclean.lint:	$(CLEAN_LINT_DEPS)
1029e39c5baSBill Taylor
1039e39c5baSBill Taylorinstall:	$(INSTALL_DEPS)
1049e39c5baSBill Taylor
1059e39c5baSBill Taylor#
1069e39c5baSBill Taylor#	Include common targets.
1079e39c5baSBill Taylor#
1089e39c5baSBill Taylorinclude $(UTSBASE)/intel/Makefile.targ
1099e39c5baSBill Taylor
1109e39c5baSBill Taylor
1119e39c5baSBill Taylor#
1129e39c5baSBill Taylor#	Defines for local commands.
1139e39c5baSBill Taylor#
1149e39c5baSBill TaylorWARLOCK		= warlock
1159e39c5baSBill TaylorWLCC		= wlcc
1169e39c5baSBill TaylorTOUCH		= touch
1179e39c5baSBill TaylorTEST		= test
1189e39c5baSBill Taylor
1199e39c5baSBill Taylorwarlock: $(WARLOCK_OK)
1209e39c5baSBill Taylor
1219e39c5baSBill Taylor$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files $(WLCMD_DIR)/hermon.wlcmd
1229e39c5baSBill Taylor	$(WARLOCK) -c $(WLCMD_DIR)/hermon.wlcmd $(WARLOCK_OUT) -l \
1239e39c5baSBill Taylor	$(UTSBASE)/intel/warlock/ddi_dki_impl.ll
1249e39c5baSBill Taylor	$(TOUCH) $@
1259e39c5baSBill Taylor
1269e39c5baSBill Taylor%.ll: $(UTSBASE)/common/io/ib/adapters/hermon/%.c
1279e39c5baSBill Taylor	$(WLCC)  $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
1289e39c5baSBill Taylor
1299e39c5baSBill Taylorwarlock_ddi.files:
1309e39c5baSBill Taylor	@cd $(UTSBASE)/intel/warlock; pwd; $(MAKE) warlock
131