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 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright 2015 RackTop Systems. 26 # 27 28 BINPROG = ypmatch ypwhich ypcat 29 SBINPROG = makedbm ypalias ypinit yppoll ypset 30 NETYPPROG = ypbind ypxfr yppush udpublickey mkalias \ 31 multi multi.awk stdethers stdhosts \ 32 ypxfr_1perday ypxfr_1perhour ypxfr_2perday \ 33 ypstart ypstop 34 NIS2LDAPPROG = ypxfrd ypserv ypxfr 35 SVCMETHOD = yp 36 PROG= $(BINPROG) $(SBINPROG) $(NETYPPROG) $(NIS2LDAPPROG) $(SVCMETHOD) 37 38 MANIFEST = server.xml client.xml xfr.xml 39 40 include ../Makefile.cmd 41 42 ROOTMANIFESTDIR = $(ROOTSVCNETWORKNIS) 43 44 # installed directories 45 NETSVC = $(ROOTLIB)/netsvc 46 NETYP = $(NETSVC)/yp 47 48 ROOTVAR_YP = $(ROOT)/var/yp 49 ROOTBINDING = $(ROOTVAR_YP)/binding 50 ROOTDIRS = $(ROOT) $(ROOTUSR) $(ROOTLIB) $(ROOTETC) $(ROOTVAR) \ 51 $(NETSVC) $(NETYP) $(ROOTVAR_YP) $(ROOTBINDING) \ 52 $(ROOTUSRSBIN) $(ROOTBIN) 53 54 $(NIS2LDAPPROG) := LDLIBS += -lc -lnsl -lnisdb 55 ypinit := LDLIBS += -lnsl 56 yppoll := LDLIBS += -lnsl 57 ypset := LDLIBS += -lnsl 58 ypbind := LDLIBS += -lnsl 59 ypmatch := LDLIBS += -lnsl 60 ypwhich := LDLIBS += -lnsl 61 ypcat := LDLIBS += -lnsl 62 yppush := LDLIBS += -lnsl 63 mkalias := LDLIBS += -lnsl 64 stdhosts := LDLIBS += -lnsl 65 stdethers := LDLIBS += -lsocket 66 makedbm := MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB) 67 makedbm := LDFLAGS += $(MAPFILES:%=-M%) 68 69 $(ROOTVAR_YP)/aliases := FILEMODE=555 70 71 YPFILES = Makefile aliases nicknames updaters 72 ETCFILES = publickey 73 ROOTYPFILES= $(YPFILES:%=$(ROOTVAR_YP)/%) 74 ROOTETCFILE= $(ETCFILES:%=$(ROOTETC)/%) 75 76 TXTS= $(ETCFILES:%=net_files/%) $(YPFILES:%=net_files/%) 77 SUBDIRS = yppasswd mknetid revnetgroup ypupdated yp2lscripts 78 79 # 80 # Some sort of obsolete idea of common files which are only now used by a 81 # few minor utilities 82 # 83 COMMONOBJ= getlist.o yp_getalias.o 84 85 # 86 # Objects shared between all the major components 87 # 88 SHARED_DIR= ./shared 89 SHAREDOBJ= $(SHARED_DIR)/utils.o $(SHARED_DIR)/lockmap.o $(SHARED_DIR)/ancil.o 90 SHAREDSRC = $(SHAREDOBJ:%.o=%.c) 91 92 YPBINDOBJ= yp_b_svc.o yp_b_subr.o rpc_bootstrap.o getlist.o 93 YPXFROBJ = ypxfr.o ypxfrd_client.o ypxfrd_xdr.o 94 YPMATOBJ = ypmatch.o nick.o 95 YPWHIOBJ = ypwhich.o nick.o 96 YPCATOBJ = ypcat.o nick.o 97 MAKEDBMOBJ = makedbm.o 98 YPALIASOBJ = ypalias.o 99 UDPUBLICKEYOBJ = udpublickey.o 100 MKALIASOBJ = mkalias.o 101 STDETHERSOBJ = stdethers.o 102 STDHOSTSOBJ = stdhosts.o 103 YPSERVOBJ = ypserv.o ypserv_map.o \ 104 ypserv_proc.o ypserv_ancil.o \ 105 ypserv_resolv.o ypserv_resolv_common.o \ 106 ypv1_xdr.o ypserv_net_secure.o 107 YPPUSHOBJ = yppush.o 108 YPXFRDOBJ = ypxfrd_svc.o ypxfrd_xdr.o ypxfrd_server.o \ 109 ypserv_net_secure.o 110 111 NETYPOBJ = $(YPXFROBJ) $(YPXFRDOBJ) $(YPSERVOBJ) $(YPPUSHOBJ) \ 112 $(YPBINDOBJ) $(UDPUBLICKEYOBJ) 113 OBJS = $(NETYPOBJ) $(MKALIASOBJ) $(COMMONOBJ) $(SHAREDOBJ) \ 114 $(YPPUSHOBJ) $(YPMATOBJ) $(YPWHIOBJ) $(YPCATOBJ) \ 115 $(STDETHERSOBJ) $(STDHOSTSOBJ) $(MAKEDBMOBJ) $(YPALIASOBJ) 116 117 BINSRC = $(BINPROG:%=%.c) 118 SBINSRC = $(SBINPROG:%=%.c) 119 NETYPSRC = $(NETYPOBJ:%.o=%.c) 120 YPBINDSRC = $(YPBINSOBJ:%.o=%.c) 121 YPXFRSRC = $(YPXFROBJ:%.o=%.c) 122 YPMATSRC = $(YPMATOBJ:%.o=%.c) 123 YPWHISRC = $(YPWHIOBJ:%.o=%.c) 124 YPCATSRC = $(YPCATOBJ:%.o=%.c) 125 MAKEDBMSRC = $(MAKEDBMOBJ:%.o=%.c) 126 YPALIASSRC = $(YPALIASOBJ:%.o=%.c) 127 UDPUBLICKEYSRC = $(UDPUBLICKEYOBJ:%.o=%.c) 128 MKALIASSRC = $(MKALIASOBJ:%.o=%.c) 129 STDETHERSSRC = $(STDETHERSOBJ:%.o=%.c) 130 STDHOSTSSRC = $(STDHOSTSOBJ:%.o=%.c) 131 YPSERVSRC = $(YPSERVOBJ:%.o=%.c) 132 YPPUSHSRC = $(YPPUSHOBJ:%.o=%.c) 133 YPXFRDSRC = $(YPXFRDOBJ:%.o=%.c) 134 YPALLSRC = $(YPALLOBJ:%.o=%.c) 135 COMMONSRC = $(COMMONOBJ:%.o=%.c) 136 137 SRCS = $(BINSRC) $(SBINSRC) $(NETYPSRC) \ 138 $(COMMONSRC) $(SHAREDSRC) 139 140 CLEANFILES = ypxfrd.h ypxfrd_xdr.c 141 142 IBINPROG= $(BINPROG:%=$(ROOTBIN)/%) 143 ISBINPROG= $(SBINPROG:%=$(ROOTUSRSBIN)/%) 144 INETYPPROG= $(NETYPPROG:%=$(NETYP)/%) 145 INIS2LDAPPROG = $(NIS2LDAPPROG:%=$(NETYP)/%) 146 147 NIS2LDAPINC = -I$(SRC)/lib/libnisdb/yptol 148 149 CERRWARN += -_gcc=-Wno-implicit-function-declaration 150 CERRWARN += -_gcc=-Wno-parentheses 151 CERRWARN += -_gcc=-Wno-unused-variable 152 CERRWARN += -_gcc=-Wno-uninitialized 153 CERRWARN += -_gcc=-Wno-switch 154 CERRWARN += -_gcc=-Wno-extra 155 CERRWARN += -_gcc=-Wno-unused-label 156 CERRWARN += -_gcc=-Wno-address 157 CERRWARN += -_gcc=-Wno-unused-function 158 159 #conditional assignments 160 $(YPALIASOBJ) := CPPFLAGS= -DMAIN $(CPPFLAGS.master) 161 $(MAKEDBMOBJ) := CPPFLAGS= $(CPPFLAGS.master) 162 $(YPBINDOBJ) := CPPFLAGS += -DINIT_DEFAULT 163 ypxfrd_svc.o := CPPFLAGS += -Dmain=_main 164 $(YPXFROBJ) := CPPFLAGS += $(NIS2LDAPINC) 165 $(YPPUSHOBJ) := CPPFLAGS += $(NIS2LDAPINC) 166 $(NIS2LDAPPROG) := CPPFLAGS += $(NIS2LDAPINC) 167 $(SHAREDOBJ) := CPPFLAGS += -I$(SRC)/lib/libnisdb/yptol 168 $(ROOTVAR_YP)/Makefile := FILEMODE= 555 169 $(ROOTVAR_YP)/nicknames := FILEMODE= 644 170 $(ROOTVAR_YP)/updaters := FILEMODE= 500 171 $(ROOTETC)/publickey := FILEMODE= 644 172 # non-default file attributes to avoid conflict with rpcsrc 173 NETYP = $(NETSVC)/yp 174 175 176 all:= TARGET= all 177 install:= TARGET= install 178 clean:= TARGET= clean 179 clobber:= TARGET= clobber 180 lint:= TARGET= lint 181 cstyle := TARGET= cstyle 182 183 all: $(SHAREDOBJ) .WAIT $(SUBDIRS) $(PROG) $(TXTS) 184 185 # install rules 186 $(ROOTVAR_YP)/% \ 187 $(ROOTETC)/%: net_files/% 188 $(INS.file) 189 190 $(ROOTVAR_YP)/% : net_files/% 191 $(INS.file) 192 193 $(NETYP)/%: % 194 $(INS.file) 195 196 .KEEP_STATE: 197 198 $(SHARED_DIR)/%.o: $(SHARED_DIR)/%.c 199 $(COMPILE.c) -o $@ $< 200 201 ypbind: $(YPBINDOBJ) 202 $(LINK.c) $(YPBINDOBJ) -o $@ $(LDLIBS) 203 $(POST_PROCESS) 204 205 makedbm ypalias: $$@.o $(COMMONOBJ) $$(MAPFILES) 206 $(LINK.c) -o $@ $@.o $(COMMONOBJ) $(LDLIBS) 207 $(POST_PROCESS) 208 209 ypmatch: $(YPMATOBJ) 210 $(LINK.c) -o $@ $(YPMATOBJ) $(LDLIBS) 211 $(POST_PROCESS) 212 213 ypwhich: $(YPWHIOBJ) 214 $(LINK.c) -o $@ $(YPWHIOBJ) $(LDLIBS) 215 $(POST_PROCESS) 216 217 ypcat: $(YPCATOBJ) 218 $(LINK.c) -o $@ $(YPCATOBJ) $(LDLIBS) 219 $(POST_PROCESS) 220 221 ypxfrd_xdr.c: ypxfrd.x 222 $(RM) ypxfrd_xdr.c; $(RPCGEN) -C -c ypxfrd.x -o ypxfrd_xdr.c 223 224 ypxfrd.h: ypxfrd.x 225 $(RM) ypxfrd.h; $(RPCGEN) -C -h ypxfrd.x -o ypxfrd.h 226 227 ypxfrd_xdr.o ypxfrd_client.o: ypxfrd.h 228 229 ypxfrd: $(YPXFRDOBJ) $(SHAREDOBJ) 230 $(LINK.cc) $(YPXFRDOBJ) $(SHAREDOBJ) -o $@ $(LDLIBS) 231 $(POST_PROCESS) 232 233 ypxfr: $(YPXFROBJ) $(COMMONOBJ) $(SHAREDOBJ) 234 $(LINK.cc) -o $@ $(YPXFROBJ) $(COMMONOBJ) $(SHAREDOBJ) $(LDLIBS) 235 $(POST_PROCESS) 236 237 ypserv: $(YPSERVOBJ) $(COMMONOBJ) $(SHAREDOBJ) 238 $(LINK.cc) $(YPSERVOBJ) $(COMMONOBJ) $(SHAREDOBJ) -o $@ $(LDLIBS) 239 $(POST_PROCESS) 240 241 yppush: $(YPPUSHOBJ) $(COMMONOBJ) 242 $(LINK.c) $(YPPUSHOBJ) $(COMMONOBJ) -o $@ $(LDLIBS) 243 $(POST_PROCESS) 244 245 udpublickey: $(UDPUBLICKEYOBJ) 246 $(LINK.c) $(UDPUBLICKEYOBJ) -o $@ $(LDLIBS) 247 $(POST_PROCESS) 248 249 mkalias: $(MKALIASOBJ) 250 $(LINK.c) $(MKALIASOBJ) -o $@ $(LDLIBS) 251 $(POST_PROCESS) 252 253 stdethers: $(STDETHERSOBJ) 254 $(LINK.c) $(STDETHERSOBJ) -o $@ $(LDLIBS) 255 $(POST_PROCESS) 256 257 stdhosts: $(STDHOSTSOBJ) 258 $(LINK.c) $(STDHOSTSOBJ) -o $@ $(LDLIBS) 259 $(POST_PROCESS) 260 261 install: all $(PROG) $(ROOTDIRS) $(ROOTETCFILE) $(ROOTYPFILES) $(IBINPROG) \ 262 $(ISBINPROG) $(INETYPPROG) $(INIS2LDAPPROG) $(SUBDIRS) $(ROOTMANIFEST) \ 263 $(ROOTSVCMETHOD) 264 265 $(ROOTDIRS): 266 $(INS.dir) 267 268 $(SUBDIRS): FRC 269 @cd $@; pwd; $(MAKE) $(TARGET) 270 271 lint := CPPFLAGS += -I$(SRC)/lib/libnisdb/yptol 272 273 lint: $(SUBDIRS) 274 $(LINT.c) $(UDPUBLICKEYSRC) $(LDLIBS) 275 $(LINT.c) $(MAKEDBMSRC) $(COMMONSRC) $(LDLIBS) 276 $(LINT.c) $(YPALIASSRC) $(COMMONSRC) $(LDLIBS) 277 $(LINT.c) $(YPMATSRC) $(LDLIBS) -lnsl 278 $(LINT.c) $(YPWHISRC) $(LDLIBS) -lnsl 279 $(LINT.c) $(YPCATSRC) $(LDLIBS) -lnsl 280 $(LINT.c) $(YPBINDSRC) $(LDLIBS) -lnsl 281 $(LINT.c) $(MKALIASSRC) $(LDLIBS) -lnsl 282 $(LINT.c) $(STDHOSTSSRC) $(LDLIBS) -lnsl 283 $(LINT.c) $(STDETHERSSRC) $(LDLIBS) -lsocket 284 $(LINT.c) $(YPPUSHSRC) $(COMMONSRC) $(LDLIBS) -lnsl 285 $(LINT.c) $(YPXFRSRC) $(COMMONSRC) $(SHAREDSRC) $(LDLIBS) -lnsl -lnisdb 286 $(LINT.c) $(YPSERVSRC) $(COMMONSRC) $(SHAREDSRC) $(LDLIBS) -lnsl -lnisdb 287 288 check: $(CHKMANIFEST) 289 290 cstyle: $(SUBDIRS) 291 ${CSTYLE} `echo $(SRCS) | sed 's/ypinit.c//'` 292 293 clean: $(SUBDIRS) 294 $(RM) $(OBJS) $(CLEANFILES) 295 296 clobber: clean $(SUBDIRS) 297 298 FRC: 299 300 include ../Makefile.targ