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]
23 # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
27 # This makefile drives the production of the EoIB Nexus driver
29 # intel architecture dependent
33 # Path to the base of the uts directory tree (usually /usr/src/uts)
38 # Define the module and object file sets
41 OBJECTS
= $(EIBNX_OBJS
:%=$(OBJS_DIR
)/%)
42 LINTS
= $(EIBNX_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
)
43 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
44 CONF_SRCDIR
= $(UTSBASE
)/common
/io
/ib
/clients
/eoib
45 WARLOCK_OUT
= $(EIBNX_OBJS
:%.o
=%.ll
)
46 WARLOCK_OK
= $(MODULE
).ok
47 WLCMD_DIR
= $(UTSBASE
)/common
/io
/warlock
50 # Include common rules
52 include $(UTSBASE
)/intel
/Makefile.intel
57 ALL_TARGET
= $(BINARY
) $(SRC_CONFILE
)
58 LINT_TARGET
= $(MODULE
).lint
59 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
) $(ROOT_CONFFILE
)
61 # Module specific debug flag
63 CPPFLAGS
+= -DENX_DEBUG
66 # Lint pass one enforcement
68 CFLAGS
+= $(CCVERBOSE
)
71 # Depends on misc/ibtl
73 LDFLAGS
+= -dy
-Nmisc
/ibcm
-Nmisc
/ibtl
76 # The only lint flag we should need
78 LINTTAGS
+= -erroff
=E_BAD_PTR_CAST_ALIGN
80 CERRWARN
+= -_gcc
=-Wno-parentheses
81 CERRWARN
+= -_gcc
=-Wno-uninitialized
84 # Default build targets
93 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
95 clobber: $(CLOBBER_DEPS
)
96 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
100 modlintlib
: $(MODLINTLIB_DEPS
)
102 clean.lint
: $(CLEAN_LINT_DEPS
)
104 install: $(INSTALL_DEPS
)
107 # Include common targets
109 include $(UTSBASE
)/intel
/Makefile.targ
112 # Defines for local commands
119 warlock
: $(WARLOCK_OK
)
121 $(WARLOCK_OK
): $(WARLOCK_OUT
) $(WLCMD_DIR
)/eibnx.wlcmd warlock_ddi.files
122 $(WARLOCK
) -c
$(WLCMD_DIR
)/eibnx.wlcmd
$(WARLOCK_OUT
) \
123 -l ..
/warlock
/ddi_dki_impl.ll
126 %.ll
: $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_main.c \
127 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_hdlrs.c \
128 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_ibt.c \
129 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_log.c \
130 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_fip.c \
131 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_misc.c \
132 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_q.c \
133 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/enx_ctl.c \
134 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/fip.h \
135 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/eib.h \
136 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/enx_impl.h
137 $(WLCC
) $(CPPFLAGS
) -DDEBUG
-o
$@
$<
140 @cd ..
/warlock
; pwd
; $(MAKE
) warlock