4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
21 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
22 # Use is subject to license terms.
24 # This makefile drives the production of the mpt_sas driver kernel module.
26 # Sparc architecture dependent
30 # Path to the base of the uts directory tree (usually /usr/src/uts).
32 UTSBASE
= ..
/..
/..
/..
/src
/uts
35 # Define the module and object file sets.
38 OBJECTS
= $(MPTSAS_OBJS
:%=$(OBJS_DIR
)/%)
39 LINTS
= $(MPTSAS_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
)
40 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
41 CONF_SRCDIR
= $(UTSBASE
)/common
/io
/scsi
/adapters
/mpt_sas
42 WARLOCK_OUT
= $(MPTSAS_OBJS
:%.o
=%.ll
)
43 WARLOCK_OK
= $(MODULE
).ok
44 WLCMD_DIR
= $(UTSBASE
)/common
/io
/warlock
47 # Kernel Module Dependencies
49 LDFLAGS
+= -dy
-Nmisc
/scsi
-Ndrv
/scsi_vhci
54 ALL_TARGET
= $(BINARY
) $(CONFMOD
)
55 LINT_TARGET
= $(MODULE
).lint
56 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
) $(ROOT_CONFFILE
)
59 # Include common rules.
61 include $(UTSBASE
)/sparc
/Makefile.sparc
64 # lint pass one enforcement
66 CFLAGS
+= $(CCVERBOSE
)
68 CERRWARN
+= -_gcc
=-Wno-parentheses
69 CERRWARN
+= -_gcc
=-Wno-uninitialized
70 CERRWARN
+= -_gcc
=-Wno-switch
73 # Default build targets.
82 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
84 clobber: $(CLOBBER_DEPS
)
85 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
89 modlintlib
: $(MODLINTLIB_DEPS
)
91 clean.lint
: $(CLEAN_LINT_DEPS
)
93 install: $(INSTALL_DEPS
)
96 # Include common targets.
98 include $(UTSBASE
)/sparc
/Makefile.targ
101 # Defines for local commands.
111 SCSI_FILES
= $(SCSI_OBJS
:%.o
= -l
$(UTSBASE
)/sparc
/scsi
/%.ll
)
113 warlock
: $(WARLOCK_OK
)
115 $(WARLOCK_OK
): $(WARLOCK_OUT
) warlock_ddi.files scsi.files \
116 $(WLCMD_DIR
)/mptsas.wlcmd
117 $(WARLOCK
) -c
$(WLCMD_DIR
)/mptsas.wlcmd
$(WARLOCK_OUT
) \
118 $(UTSBASE
)/sparc
/warlock
/scsi.ll \
120 -l
$(UTSBASE
)/sparc
/warlock
/ddi_dki_impl.ll
123 %.ll
: $(UTSBASE
)/common
/io
/scsi
/adapters
/mpt_sas
/%.c
124 $(WLCC
) $(CPPFLAGS
) -DDEBUG
-o
$@
$<
127 @cd
$(UTSBASE
)/sparc
/warlock
; pwd
; $(MAKE
) warlock
130 @cd
$(UTSBASE
)/sparc
/scsi
; pwd
; $(MAKE
) warlock