8609 want a position independent CRT
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 2011 Nexenta Systems, Inc. All rights reserved.
25 #
26
27 LIBRARY= libnsl.a
28 VERS= .1
29
30 # objects are listed by source directory
31
32 # common utility code used in more than one directory
33 COMMON= common.o daemon_utils.o
34
35 DES= des_crypt.o des_soft.o
36
37 DIAL= dial.o
38
39 IPSEC= algs.o
40
41 NETDIR= netdir.o
42
43 NSS= \
44 gethostbyname_r.o gethostent.o gethostent_r.o gethostent6.o gethostby_door.o \
45 getipnodeby_door.o getipnodeby.o getrpcent.o getrpcent_r.o inet_matchaddr.o \
46 inet_pton.o inet_ntop.o netdir_inet.o netdir_inet_sundry.o \
47 parse.o getauthattr.o getprofattr.o getexecattr.o getuserattr.o getauuser.o
48
49 NETSELECT= netselect.o
50
51 NSL= \
52 _conn_util.o _data2.o _errlst.o \
53 _utility.o t_accept.o t_alloc.o t_bind.o t_close.o \
54 t_connect.o t_error.o t_free.o t_getinfo.o t_getname.o \
55 t_getstate.o t_listen.o t_look.o t_open.o t_optmgmt.o \
56 t_rcv.o t_rcvconnect.o t_rcvdis.o t_rcvrel.o t_rcvudata.o \
57 t_rcvuderr.o t_snd.o t_snddis.o t_sndrel.o t_sndudata.o \
58 t_sndv.o t_sndreldata.o t_rcvv.o t_rcvreldata.o t_sysconf.o \
59 t_sndvudata.o t_rcvvudata.o t_sync.o t_unbind.o t_strerror.o \
60 xti_wrappers.o
61
62 WRAPPERS= \
63 tli_wrappers.o
64
65 RPC= \
66 auth_des.o auth_none.o auth_sys.o auth_time.o authdes_prot.o \
67 authsys_prot.o can_use_af.o \
68 clnt_bcast.o clnt_dg.o clnt_door.o clnt_generic.o clnt_perror.o \
69 clnt_raw.o clnt_simple.o clnt_vc.o fdsync.o getdname.o \
70 inet_ntoa.o key_call.o key_prot.o mt_misc.o \
71 netname.o netnamer.o pmap_clnt.o pmap_prot.o \
72 rpc_callmsg.o rpc_comdata.o rpc_generic.o rpc_prot.o rpc_sel2poll.o \
73 rpc_soc.o rpc_td.o rpcb_clnt.o rpcb_prot.o \
74 rpcb_st_xdr.o rpcdname.o rpcsec_gss_if.o rtime_tli.o svc.o \
75 svc_auth.o svc_auth_loopb.o svc_auth_sys.o svc_dg.o \
76 svc_door.o svc_generic.o svc_raw.o svc_run.o svc_simple.o \
77 svc_vc.o svcauth_des.o svid_funcs.o ti_opts.o xdr.o \
78 xdr_array.o xdr_float.o xdr_mem.o xdr_rec.o xdr_refer.o \
79 xdr_sizeof.o xdr_stdio.o
80
81 SAF= checkver.o doconfig.o
82
83 YP= \
84 dbm.o yp_all.o yp_b_clnt.o yp_b_xdr.o yp_bind.o \
85 yp_enum.o yp_master.o yp_match.o yp_order.o yp_update.o \
86 yperr_string.o yp_xdr.o ypprot_err.o ypupd.o \
87 yp_rsvd.o \
88 yppasswd_xdr.o
89
90 NIS_GEN= \
91 nis_xdr.o nis_subr.o nis_misc.o \
92 nis_misc_proc.o nis_sec_mechs.o
93
94
95 NIS= $(NIS_GEN)
96
97 KEY= publickey.o xcrypt.o gen_dhkeys.o
98
99 OBJECTS= $(COMMON) $(DES) $(DIAL) $(IPSEC) $(NETDIR) $(NSS) $(NETSELECT) \
100 $(NSL) $(WRAPPERS) $(RPC) $(SAF) $(YP) $(NIS) $(KEY)
101
102 # libnsl build rules
103 pics/%.o: ../common/%.c
104 $(COMPILE.c) -o $@ $<
105 $(POST_PROCESS_O)
106
107 pics/%.o: ../des/%.c
108 $(COMPILE.c) -o $@ $<
109 $(POST_PROCESS_O)
110
111 pics/%.o: ../dial/%.c
112 $(COMPILE.c) -o $@ $<
113 $(POST_PROCESS_O)
114
115 pics/%.o: ../ipsec/%.c
116 $(COMPILE.c) -o $@ $<
117 $(POST_PROCESS_O)
118
119 pics/%.o: ../netdir/%.c
120 $(COMPILE.c) -o $@ $<
121 $(POST_PROCESS_O)
122
123 pics/%.o: ../nss/%.c
124 $(COMPILE.c) -o $@ $<
125 $(POST_PROCESS_O)
126
127 pics/%.o: ../netselect/%.c
128 $(COMPILE.c) -o $@ $<
129 $(POST_PROCESS_O)
130
131 pics/%.o: ../nsl/%.c
132 $(COMPILE.c) -o $@ $<
133 $(POST_PROCESS_O)
134
135 pics/%.o: ../rpc/%.c
136 $(COMPILE.c) -DPORTMAP -DNIS -o $@ $<
137 $(POST_PROCESS_O)
138
139 pics/%.o: ../saf/%.c
140 $(COMPILE.c) -o $@ $<
141 $(POST_PROCESS_O)
142
143 pics/%.o: ../yp/%.c
144 $(COMPILE.c) -o $@ $<
145 $(POST_PROCESS_O)
146
147 pics/%.o: ../key/%.c
148 $(COMPILE.c) -o $@ $<
149 $(POST_PROCESS_O)
150
151 pics/%.o: ../nis/gen/%.c ../nis/gen/nis_clnt.h
152 $(COMPILE.c) -o $@ $<
153 $(POST_PROCESS_O)
154
155
156 pics/%.o: ../nis/gen/nis_clnt.h
157 $(COMPILE.cc) -o $@ $<
158 $(POST_PROCESS_O)
159
160 # include library definitions
161 include ../../Makefile.lib
162
163 # install this library in the root filesystem
164 include ../../Makefile.rootfs
165
166 LIBS = $(DYNLIB) $(LINTLIB)
167
168 SRCDIR= ../common
169
170 # Override the position-independent code generation flags.
171 #
172 # These files are particularly rich with references to global things.
173 # Ordering is by number of got references per file of files that have
174 # non-performance sensitive code in them.
175 #
176 # If you need to add more files and the GOT overflows with "pic" items,
177 # then use the environment variable LD_OPTIONS=-Dgot,detail to have the
178 # linker print out the list of GOT hogs..
179
180 GOTHOGS = dial.o print_obj.o clnt_perror.o nsl_stdio_prv.o netdir.o \
181 algs.o netselect.o
182 BIGPICS = $(GOTHOGS:%=pics/%)
183 $(BIGPICS) := sparc_C_PICFLAGS = $(C_BIGPICFLAGS)
184 $(BIGPICS) := i386_C_PICFLAGS = $(C_BIGPICFLAGS)
185
186 # Compile C++ code without exceptions to avoid a dependence on libC.
187 NOEXCEPTIONS= -noex
188 CCFLAGS += $(NOEXCEPTIONS)
189 CCFLAGS64 += $(NOEXCEPTIONS)
190
191 CPPFLAGS += -I$(SRC)/lib/libnsl/include -D_REENTRANT
192 CPPFLAGS += -I$(SRC)/lib/libnsl/dial
193
194 CFLAGS += $(CCVERBOSE)
195
196 # Make string literals read-only to save memory.
197 CFLAGS += $(XSTRCONST)
198 CFLAGS64 += $(XSTRCONST)
199 CCFLAGS += -_CC=-features=conststrings
200 CCFLAGS64 += -_CC=-features=conststrings
201
202 CERRWARN += -_gcc=-Wno-char-subscripts
203 CERRWARN += -_gcc=-Wno-parentheses
204 CERRWARN += -_gcc=-Wno-uninitialized
205 CERRWARN += -_gcc=-Wno-switch
206 CERRWARN += -_gcc=-Wno-char-subscripts
207 CERRWARN += -_gcc=-Wno-empty-body
208 CERRWARN += -_gcc=-Wno-unused-variable
209 CERRWARN += -_gcc=-Wno-clobbered
210
211 LIBMP = -lmp
212 lint := LIBMP =
213 LDLIBS += $(LIBMP) -lmd -lc
214 DYNFLAGS += $(ZNODELETE)
215
216 $(LINTLIB):= SRCS=$(SRCDIR)/$(LINTSRC)
217 LINTFLAGS += -m -DPORTMAP
218 LINTFLAGS64 += -m -DPORTMAP
219
220 .KEEP_STATE:
221
222 all: $(LIBS)
223
224 # Don't lint WRAPPERS as they are explicitly unclean
225 SRCS= $(DES:%.o=../des/%.c) \
226 $(DIAL:%.o=../dial/%.c) \
227 $(IPSEC:%.o=../ipsec/%.c) \
228 $(NETDIR:%.o=../netdir/%.c) \
229 $(NSS:%.o=../nss/%.c) \
230 $(NETSELECT:%.o=../netselect/%.c) \
231 $(NSL:%.o=../nsl/%.c) \
232 $(RPC:%.o=../rpc/%.c) \
233 $(SAF:%.o=../saf/%.c) \
234 $(YP:%.o=../yp/%.c) \
235 $(NIS_GEN:%.o=../nis/gen/%.c) \
236 $(COMMON:%.o=../common/%.c)
237
238 lint:
239 @$(LINT.c) $(SRCS) $(LDLIBS)
240
241 # include library targets
242 include ../../Makefile.targ
--- EOF ---