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
= $(EOIB_OBJS
:%=$(OBJS_DIR
)/%)
42 LINTS
= $(EOIB_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
)
43 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
44 WARLOCK_OUT
= $(EOIB_OBJS
:%.o
=%.ll
)
45 WARLOCK_OK
= $(MODULE
).ok
46 WLCMD_DIR
= $(UTSBASE
)/common
/io
/warlock
49 # Include common rules
51 include $(UTSBASE
)/intel
/Makefile.intel
56 ALL_TARGET
= $(BINARY
)
57 LINT_TARGET
= $(MODULE
).lint
58 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
)
60 # Module specific debug flag
62 CPPFLAGS
+= -DEIB_DEBUG
65 # Lint pass one enforcement
67 CFLAGS
+= $(CCVERBOSE
)
69 CERRWARN
+= -_gcc
=-Wno-switch
70 CERRWARN
+= -_gcc
=-Wno-uninitialized
73 # Depends on misc/ibtl
75 LDFLAGS
+= -dy
-Nmisc
/mac
-Nmisc
/ibtl
-Nmisc
/ibcm
-Nmisc
/ibmf
78 # Default build targets
87 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
89 clobber: $(CLOBBER_DEPS
)
90 $(RM
) $(WARLOCK_OUT
) $(WARLOCK_OK
)
94 modlintlib
: $(MODLINTLIB_DEPS
)
96 clean.lint
: $(CLEAN_LINT_DEPS
)
98 install: $(INSTALL_DEPS
)
101 # Include common targets
103 include $(UTSBASE
)/intel
/Makefile.targ
106 # Defines for local commands
113 warlock
: $(WARLOCK_OK
)
115 $(WARLOCK_OK
): $(WARLOCK_OUT
) $(WLCMD_DIR
)/eoib.wlcmd warlock_ddi.files
116 $(WARLOCK
) -c
$(WLCMD_DIR
)/eoib.wlcmd
$(WARLOCK_OUT
) \
117 -l ..
/warlock
/ddi_dki_impl.ll
120 %.ll
: $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_adm.c \
121 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_chan.c \
122 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_cmn.c \
123 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_ctl.c \
124 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_data.c \
125 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_fip.c \
126 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_ibt.c \
127 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_log.c \
128 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_mac.c \
129 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_main.c \
130 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_rsrc.c \
131 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_svc.c \
132 $(UTSBASE
)/common
/io
/ib
/clients
/eoib
/eib_vnic.c \
133 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/fip.h \
134 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/eib.h \
135 $(UTSBASE
)/common
/sys
/ib
/clients
/eoib
/eib_impl.h
136 $(WLCC
) $(CPPFLAGS
) -DDEBUG
-o
$@
$<
139 @cd ..
/warlock
; pwd
; $(MAKE
) warlock