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 2015 Gary Mills
23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
30 PROTOCOL_DIR
= $(ROOT
)/include/rpcsvc
36 db_entry.o db_entry_c_xdr.o \
37 db_item.o db_item_c_xdr.o \
38 db_vers.o db_vers_c_xdr.o \
40 db_table.o db_table_c_xdr.o \
41 db_index_entry.o db_index_entry_c.o \
42 db_index.o db_index_c_xdr.o \
43 db_scheme.o db_scheme_c_xdr.o \
44 db_query.o db_query_c_xdr.o \
45 db_mindex.o db_mindex2.o db_mindex3.o db_mindex_c_xdr.o \
46 db_log_entry.o db_log_entry_c_xdr.o \
50 db_dictionary.o db_dictionary_c_xdr.o \
51 db_dictxdr.o db_dictlog.o db_dictlog_c_xdr.o \
53 nisdb_mt.o nisdb_rw.o \
55 ldap_attr.o ldap_cto.o ldap_glob.o ldap_ldap.o \
56 ldap_map.o ldap_nisdbquery.o \
57 ldap_op.o ldap_parse.o ldap_print.o ldap_ruleval.o \
58 ldap_util.o ldap_val.o ldap_xdr.o ldap_scheme.o \
60 nis_parse_ldap_attr.o nis_parse_ldap_conf.o \
61 nis_parse_ldap_map.o nis_parse_ldap_util.o \
62 nis_parse_ldap_yp_util.o \
78 db_c.x db_dictionary_c.x db_entry_c.x db_index_c.x \
79 db_index_entry_c.x db_item_c.x db_log_c.x db_log_entry_c.x \
80 db_mindex_c.x db_query_c.x db_scheme_c.x db_table_c.x \
81 db_vers_c.x db_dictlog_c.x
83 DERIVED_HEADERS
= $(X_FILES
:%_c.x
=%_c.h
) $(X_FILES
:%_c.x
=%.h
)
84 DERIVED_SOURCES
= $(X_FILES
:%_c.x
=%_c_xdr.c
)
85 DERIVED_FILES
= $(DERIVED_HEADERS
) $(DERIVED_SOURCES
)
87 # delete the derived files when cleaning up
88 CLEANFILES
+= $(DERIVED_FILES
)
90 # include library definitions
91 include ..
/Makefile.lib
93 MAPFILES
= mapfile-vers
95 SRCS
= db_dictionary_c_xdr.c db_dictlog_c_xdr.c db_dictxdr.c \
96 db_entry_c_xdr.c db_index_c_xdr.c db_index_entry_c_xdr.c db_item_c_xdr.c \
97 db_log_c_xdr.c db_log_entry_c_xdr.c db_mindex_c_xdr.c db_query_c_xdr.c \
98 db_scheme_c_xdr.c db_table_c_xdr.c db_vers_c_xdr.c \
99 $(YPTOL_DIR
)/dit_access.c \
100 $(YPTOL_DIR
)/dit_access_utils.c \
101 $(YPTOL_DIR
)/lock_update.c \
102 $(YPTOL_DIR
)/map_conv.c \
103 $(YPTOL_DIR
)/map_ctrl.c \
104 $(YPTOL_DIR
)/yptol_utils.c \
105 $(YPTOL_DIR
)/shim.c \
106 $(YPTOL_DIR
)/shim_ancil.c \
107 $(YPTOL_DIR
)/shim_lockmap.c \
108 $(YPTOL_DIR
)/ttl_utils.c \
109 $(YPTOL_DIR
)/update.c \
110 $(YPTOL_DIR
)/shim_changepasswd.c \
111 $(YPTOL_DIR
)/stubs.c \
112 #db_c_xdr.c xdr_nullptr.c
114 # Libnisdb has grown large enough that there may be too many symbols
115 # wanting `small' PIC references. Hence, compile some files with
116 # `large' PIC references; the parser files are good candidates, since
117 # they're only used at startup, and performance isn't too important.
118 LARGESYMS
= nis_parse_ldap_conf.o \
119 nis_parse_ldap_attr.o \
120 nis_parse_ldap_yp_util.o \
121 nis_parse_ldap_map.o \
124 dit_access_utilis.o \
129 shim_changepasswd.o \
133 nis_parse_ldap_util.o
134 LARGEPICS
= $(LARGESYMS
:%=pics
/%)
135 $(LARGEPICS
) := sparc_C_PICFLAGS
= $(C_BIGPICFLAGS
)
136 $(LARGEPICS
) := i386_C_PICFLAGS
= $(C_BIGPICFLAGS
)
138 # More and stricter semantic checks and lint-like checks
139 CFLAGS
+= $(CCVERBOSE
)
141 CPPFLAGS
+= -D_REENTRANT
143 # Have an unused variable that can't be removed
145 pics
/db_dictionary_c_xdr.o \
146 pics
/db_dictlog_c_xdr.o \
147 pics
/db_entry_c_xdr.o \
148 pics
/db_index_c_xdr.o \
149 pics
/db_item_c_xdr.o \
150 pics
/db_log_entry_c_xdr.o \
151 pics
/db_mindex_c_xdr.o \
152 pics
/db_query_c_xdr.o \
153 pics
/db_scheme_c_xdr.o \
154 pics
/db_table_c_xdr.o \
155 pics
/db_vers_c_xdr.o \
162 $(UVAR_PICS
) := CERRWARN
+= -_gcc
=-Wno-unused-variable
164 # Correcting these might alter logic
165 CERRWARN
+= -_gcc
=-Wno-uninitialized
166 CERRWARN
+= -_gcc
=-Wno-switch
168 # Extra includes, from yp, for yptol files.
169 CPPFLAGS
+= -I
$(SRC
)/cmd
/ypcmd
171 # Need the path to nis_clnt.h
172 CLNT_PICS
= pics
/db_entry_c_xdr.o pics
/ldap_xdr.o pics
/db_mindex_c_xdr.o
174 $(CLNT_PICS
) := CPPFLAGS
+= -I..
/libnsl
/nis
/gen
178 LDLIBS
+= -lnsl
-lldap
-lc
180 # A number of interfaces are interposed by numerous applications, therefore
181 # prevent direct binding to anything in libnisdb. Disable libnisdb from
182 # directly binding to itself, but allow libnisdb to directly bind to its
183 # dependencies (ie. map -Bdirect -> -zdirect). Ensure lazy loading is
184 # established (which is enabled automatically with -Bdirect). In addition,
185 # libnisdb interposes on socket(), so tag this library as an interposer.
186 # dependencies (lazyload).
188 DYNFLAGS
+= $(BNODIRECT
) $(ZINTERPOSE
) $(ZDIRECT
) $(ZLAZYLOAD
)
191 clean := TARGET
= clean
192 clobber := TARGET
= clobber
193 install := TARGET
= install
198 all: $(DERIVED_FILES
) $(LIBS
)
200 install: all $(ROOTLIBS
) $(ROOTLINKS
)
202 lint
: $(DERIVED_FILES
) .WAIT lintcheck
205 $(COMPILE.c
) -o
$@
$<
209 $(COMPILE.
cc) -o
$@
$<
212 objs
/%.o pics
/%.o profs
/%.o
: $(YPTOL_DIR
)/%.c
213 $(COMPILE.c
) -o
$@
$<
217 # Pattern matching rules that define how to build the derived files.
221 $(RPCGEN
) -DUSINGC
-h
-o
$@
$<
225 $(RPCGEN
) -h
-o
$@
$<
229 $(RPCGEN
) -DUSINGC
-c
-o
$@
$<
231 # rename the xdr_db_free_entry() in the db_table_c_xdr.c. So the one
232 # in db_index_entry_c is used instead.
235 $(DB_TABLE
)_xdr.c
: $(DB_TABLE
).x
237 $(RPCGEN
) -DUSINGC
-c
$(DB_TABLE
).x |\
238 $(SED
) -e
's/^xdr_db_free_entry(/__OBSOLETED_xdr_db_free_entry(/' > $@
240 # include library targets
241 include ..
/Makefile.targ