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]
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
26 # This makefile drives the production of the ip driver
29 # sparc architecture dependent
32 # Path to the base of the uts directory tree (usually /usr/src/uts).
37 # Define the module and object file sets.
40 OBJECTS
= $(IP_OBJS
:%=$(OBJS_DIR
)/%)
41 LINTS
= $(IP_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
)
42 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
43 ROOTLINK
= $(ROOT_STRMOD_DIR
)/$(MODULE
)
44 CONF_SRCDIR
= $(UTSBASE
)/common
/inet
/ip
47 # Include common rules.
49 include $(UTSBASE
)/sparc
/Makefile.sparc
54 ALL_TARGET
= $(BINARY
) $(SRC_CONFFILE
)
55 LINT_TARGET
= $(MODULE
).lint
56 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
) $(ROOTLINK
) $(ROOT_CONFFILE
)
59 # lint pass one enforcement
61 CFLAGS
+= $(CCVERBOSE
)
62 CFLAGS
+= -xinline
=tcp_set_ws_value
64 # To get the BPF header files included by ipnet.h
66 INC_PATH
+= -I
$(UTSBASE
)/common
/io
/bpf
69 # For now, disable these lint checks; maintainers should endeavor
70 # to investigate and remove these for maximum lint coverage.
71 # Please do not carry these forward to new Makefiles.
73 LINTTAGS
+= -erroff
=E_SUSPICIOUS_COMPARISON
74 LINTTAGS
+= -erroff
=E_BAD_PTR_CAST_ALIGN
75 LINTTAGS
+= -erroff
=E_SUPPRESSION_DIRECTIVE_UNUSED
76 LINTTAGS
+= -erroff
=E_STATIC_UNUSED
77 LINTTAGS
+= -erroff
=E_PTRDIFF_OVERFLOW
78 LINTTAGS
+= -erroff
=E_ASSIGN_NARROW_CONV
80 CERRWARN
+= -_gcc
=-Wno-parentheses
81 CERRWARN
+= -_gcc
=-Wno-unused-label
82 CERRWARN
+= -_gcc
=-Wno-unused-function
83 CERRWARN
+= -_gcc
=-Wno-unused-variable
84 CERRWARN
+= -_gcc
=-Wno-switch
85 CERRWARN
+= -_gcc
=-Wno-uninitialized
86 CERRWARN
+= -_gcc
=-Wno-type-limits
89 # Depends on md5 and swrand (for SCTP). SCTP needs to depend on
90 # swrand as it needs random numbers early on during boot before
91 # kCF subsystem can load swrand.
93 LDFLAGS
+= -dy
-Nmisc
/md5
-Ncrypto
/swrand
-Nmisc
/hook
-Nmisc
/neti
96 # Default build targets.
102 all: $(ALL_DEPS
) $(SISCHECK_DEPS
)
104 clean: $(CLEAN_DEPS
) $(SISCLEAN_DEPS
)
106 clobber: $(CLOBBER_DEPS
) $(SISCLEAN_DEPS
)
110 modlintlib
: $(MODLINTLIB_DEPS
)
112 clean.lint
: $(CLEAN_LINT_DEPS
)
114 install: $(INSTALL_DEPS
) $(SISCHECK_DEPS
)
116 $(ROOTLINK
): $(ROOT_STRMOD_DIR
) $(ROOTMODULE
)
117 -$(RM
) $@
; ln
$(ROOTMODULE
) $@
120 # Include common targets.
122 include $(UTSBASE
)/sparc
/Makefile.targ
125 # The ip CTF data is merged into the genunix module because these types are
126 # complex and heavily shared. The genunix build will execute one of the
127 # rules below to create an archive, ipctf.a, containing the ip objects. The
128 # real ip will be uniquified against genunix later in the build, and will
129 # emerge containing very few types.
131 $(OBJS_DIR
)/ipctf.a
: $(OBJECTS
)
133 $(AR
) -r
$@
$(OBJECTS
)
135 $(OBJECTS
): $(OBJS_DIR
)
137 CLOBBERFILES
+= $(OBJS_DIR
)/ipctf.a
140 @BUILD_TYPE
=OBJ64 VERSION
='$(VERSION)' $(MAKE
) obj64
/ipctf.a
143 @BUILD_TYPE
=DBG64 VERSION
='$(VERSION)' $(MAKE
) debug64
/ipctf.a