1#
2# CDDL HEADER START
3#
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.
7#
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.
12#
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]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
24# Copyright (c) 2018, Joyent, Inc.
25#
26
27LIBRARY	=	libsocket.a
28VERS =		.1
29
30INETOBJS =	bindresvport.o bootparams_getbyname.o ether_addr.o \
31		getaddrinfo.o getnameinfo.o getnetent.o getnetent_r.o \
32		getprotoent.o getprotoent_r.o getservbyname_r.o getservent.o \
33		getservent_r.o inet6_opt.o inet6_rthdr.o interface_id.o \
34		link_addr.o netmasks.o rcmd.o rexec.o ruserpass.o \
35		sourcefilter.o getifaddrs.o
36SOCKOBJS =	_soutil.o sockatmark.o socket.o socketpair.o weaks.o
37OBJECTS	=	$(INETOBJS) $(SOCKOBJS)
38
39include ../../Makefile.lib
40
41# install this library in the root filesystem
42include ../../Makefile.rootfs
43
44LIBS =		$(DYNLIB)
45
46SRCS =		$(INETOBJS:%.o=../inet/%.c) $(SOCKOBJS:%.o=../socket/%.c)
47LDLIBS +=	-lnsl -lc
48
49SRCDIR =	../common
50
51# Make string literals read-only to save memory.
52CFLAGS +=	$(XSTRCONST)
53CFLAGS64 +=	$(XSTRCONST)
54
55CPPFLAGS +=	-DSYSV -D_REENTRANT -I../../common/inc
56%/rcmd.o :=	CPPFLAGS += -DNIS
57
58CERRWARN +=	-_gcc=-Wno-type-limits
59CERRWARN +=	$(CNOWARN_UNINIT)
60CERRWARN +=	-_gcc=-Wno-unused-variable
61CERRWARN +=	-_gcc=-Wno-parentheses
62
63# not linted
64SMATCH=off
65
66.KEEP_STATE:
67
68all:
69
70
71# libsocket build rules
72pics/%.o: ../inet/%.c
73	$(COMPILE.c) -o $@ $<
74	$(POST_PROCESS_O)
75
76pics/%.o: ../socket/%.c
77	$(COMPILE.c) -o $@ $<
78	$(POST_PROCESS_O)
79
80include ../../Makefile.targ
81