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 hermon InfiniBand module 27*9e39c5baSBill Taylor# 28*9e39c5baSBill Taylor# sparc architecture dependent 29*9e39c5baSBill Taylor# 30*9e39c5baSBill Taylor# uts/sparc/hermon/Makefile 31*9e39c5baSBill Taylor# 32*9e39c5baSBill Taylor 33*9e39c5baSBill Taylor# 34*9e39c5baSBill Taylor# Path to the base of the uts directory tree (usually /usr/src/uts). 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 = hermon 42*9e39c5baSBill TaylorOBJECTS = $(HERMON_OBJS:%=$(OBJS_DIR)/%) 43*9e39c5baSBill TaylorLINTS = $(HERMON_OBJS:%.o=$(LINTS_DIR)/%.ln) 44*9e39c5baSBill TaylorROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 45*9e39c5baSBill TaylorCONF_SRCDIR = $(UTSBASE)/common/io/ib/adapters/hermon 46*9e39c5baSBill TaylorLDFLAGS += -dy -Ndrv/ib -Nmisc/ibtl -Nmisc/ibmf 47*9e39c5baSBill TaylorWARLOCK_OUT = $(HERMON_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)/sparc/Makefile.sparc 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# Default build targets. 80*9e39c5baSBill Taylor# 81*9e39c5baSBill Taylor.KEEP_STATE: 82*9e39c5baSBill Taylor 83*9e39c5baSBill Taylordef: $(DEF_DEPS) 84*9e39c5baSBill Taylor 85*9e39c5baSBill Taylorall: $(ALL_DEPS) 86*9e39c5baSBill Taylor 87*9e39c5baSBill Taylorclean: $(CLEAN_DEPS) 88*9e39c5baSBill Taylor 89*9e39c5baSBill Taylorclobber: $(CLOBBER_DEPS) 90*9e39c5baSBill Taylor 91*9e39c5baSBill Taylorlint: $(LINT_DEPS) 92*9e39c5baSBill Taylor 93*9e39c5baSBill Taylormodlintlib: $(MODLINTLIB_DEPS) 94*9e39c5baSBill Taylor 95*9e39c5baSBill Taylorclean.lint: $(CLEAN_LINT_DEPS) 96*9e39c5baSBill Taylor 97*9e39c5baSBill Taylorinstall: $(INSTALL_DEPS) 98*9e39c5baSBill Taylor 99*9e39c5baSBill Taylor# 100*9e39c5baSBill Taylor# Include common targets. 101*9e39c5baSBill Taylor# 102*9e39c5baSBill Taylorinclude $(UTSBASE)/sparc/Makefile.targ 103*9e39c5baSBill Taylor 104*9e39c5baSBill Taylor 105*9e39c5baSBill Taylor# 106*9e39c5baSBill Taylor# Defines for local commands. 107*9e39c5baSBill Taylor# 108*9e39c5baSBill TaylorWARLOCK = warlock 109*9e39c5baSBill TaylorWLCC = wlcc 110*9e39c5baSBill TaylorTOUCH = touch 111*9e39c5baSBill TaylorTEST = test 112*9e39c5baSBill Taylor 113*9e39c5baSBill Taylorwarlock: $(WARLOCK_OK) 114*9e39c5baSBill Taylor 115*9e39c5baSBill Taylor$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files $(WLCMD_DIR)/hermon.wlcmd 116*9e39c5baSBill Taylor $(WARLOCK) -c $(WLCMD_DIR)/hermon.wlcmd $(WARLOCK_OUT) -l \ 117*9e39c5baSBill Taylor $(UTSBASE)/sparc/warlock/ddi_dki_impl.ll 118*9e39c5baSBill Taylor $(TOUCH) $@ 119*9e39c5baSBill Taylor 120*9e39c5baSBill Taylor%.ll: $(UTSBASE)/common/io/ib/adapters/hermon/%.c 121*9e39c5baSBill Taylor $(WLCC) $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $< 122*9e39c5baSBill Taylor 123*9e39c5baSBill Taylorwarlock_ddi.files: 124*9e39c5baSBill Taylor @cd $(UTSBASE)/sparc/warlock; pwd; $(MAKE) warlock 125