c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# CDDL HEADER START
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# The contents of this file are subject to the terms of the
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Common Development and Distribution License (the "License").
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# You may not use this file except in compliance with the License.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# or http://www.opensolaris.org/os/licensing.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# See the License for the specific language governing permissions
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# and limitations under the License.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# When distributing Covered Code, include this CDDL HEADER in each
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# If applicable, add the following below this CDDL HEADER, with the
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# fields enclosed by brackets "[]" replaced with your own identifying
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# information: Portions Copyright [yyyy] [name of copyright owner]
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# CDDL HEADER END
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# This makefile drives the production of the rds driver
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# kernel module.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# sparc architecture dependent
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Path to the base of the uts directory tree (usually /usr/src/uts).
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaUTSBASE = ../..
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Define the module and object file sets.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaMODULE = rdsv3
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaOBJECTS = $(RDSV3_OBJS:%=$(OBJS_DIR)/%)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTS = $(RDSV3_OBJS:%.o=$(LINTS_DIR)/%.ln)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaCONF_SRCDIR = $(UTSBASE)/common/io/ib/clients/rdsv3
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaWARLOCK_OUT = $(RDSV3_OBJS:%.o=%.ll)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaWARLOCK_OK = $(MODULE).ok
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaWLCMD_DIR = $(UTSBASE)/common/io/warlock
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Include common rules.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otainclude $(UTSBASE)/sparc/Makefile.sparc
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Define targets
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaALL_TARGET = $(BINARY) $(SRC_CONFILE)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINT_TARGET = $(MODULE).lint
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# lint pass one enforcement and OS version
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaCFLAGS += $(CCVERBOSE)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-label
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-variable
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-function
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-uninitialized
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-parentheses
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Disable these lint checks since some errors suppressed here are
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# in the OFED code, but we'd like to keep it as is as much as possible.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Note. maintainers should endeavor to investigate and remove these for
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# maximum lint coverage, but please do not carry these forward to new
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Makefiles blindly.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_STATIC_UNUSED
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_CONSTANT_CONDITION
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_FUNC_VAR_UNUSED
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_FUNC_SET_NOT_USED
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_FUNC_USED_VAR_ARG2
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLINTTAGS += -erroff=E_INCONS_ARG_USED2
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaLDFLAGS += -dy -Nfs/sockfs -Nmisc/ksocket -Ndrv/ip -Nmisc/ibtl -Nmisc/ibcm -Nmisc/sol_ofs
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Default build targets.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota.KEEP_STATE:
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otadef: $(DEF_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otaall: $(ALL_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otaclean: $(CLEAN_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otaclobber: $(CLOBBER_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otalint: $(LINT_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otamodlintlib: $(MODLINTLIB_DEPS) lint64
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otaclean.lint: $(CLEAN_LINT_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otainstall: $(INSTALL_DEPS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota$(ROOTLINK): $(ROOT_STRMOD_DIR) $(ROOTMODULE)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota -$(RM) $@; ln $(ROOTMODULE) $@
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Include common targets.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otainclude $(UTSBASE)/sparc/Makefile.targ
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Defines for local commands.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaWARLOCK = warlock
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaWLCC = wlcc
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaTOUCH = touch
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaTEST = test
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otawarlock: $(WARLOCK_OK) $(WARLOCK_OUT)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/rdsv3.wlcmd warlock_ddi.files
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(WARLOCK) -c $(WLCMD_DIR)/rdsv3.wlcmd $(WARLOCK_OUT) \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota -l ../warlock/ddi_dki_impl.ll
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(TOUCH) $@
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota%.ll: $(UTSBASE)/common/io/ib/clients/rdsv3/%.c \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/ib.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/info.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/loop.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdma.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdma_transport.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rds.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rds_rdma.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdsv3_atomic.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdsv3_debug.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdsv3_impl.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdsv3_ofed_types.h \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(UTSBASE)/common/sys/ib/clients/rdsv3/rdsv3_sc.h
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(WLCC) $(CPPFLAGS) -DDEBUG -Dinline= -o $@ $<
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otawarlock_ddi.files:
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota @cd ../warlock; pwd; $(MAKE) warlock