xref: /illumos-gate/usr/src/cmd/ldapcachemgr/Makefile (revision d8849d7dee03b84a3fa281ec65eb9e3d86d3756b)
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 (c) 2018, Joyent, Inc.
26
27PROG=	ldap_cachemgr
28
29MANIFEST=	client.xml
30SVCMETHOD=	ldap-client
31
32include ../Makefile.cmd
33
34#
35# To compile in the $mgr SLP support
36# 1. add -DSLP in to CPPFLAGS line
37# 2. add cachemgr_discovery.o to the OBJS line
38# 3. add -lslp in the LDLIBS line
39#
40
41ROOTLDAPLIB=	$(ROOT)/usr/lib/ldap
42ROOTLDAPPROG=	$(PROG:%=$(ROOTLDAPLIB)/%)
43
44ROOTMANIFESTDIR=	$(ROOTSVCNETWORKLDAP)
45
46OBJS=	cachemgr.o cachemgr_getldap.o cachemgr_parse.o cachemgr_change.o
47
48SRCS=	${OBJS:%.o=%.c}
49
50CPPFLAGS +=	-D_REENTRANT -DSUN_THREADS \
51		-I$(SRC)/lib/libsldap/common \
52		-I$(SRC)/lib/libldap5/include/ldap \
53		-I$(SRC)/lib/libc/port/gen
54
55CERRWARN +=	-_gcc=-Wno-parentheses
56CERRWARN +=	-_gcc=-Wno-switch
57CERRWARN +=	$(CNOWARN_UNINIT)
58
59# not linted
60SMATCH=off
61
62# Message files
63POFILE=		ldap_cachemgr.po
64POFILES=	${OBJS:%.o=%.po}
65
66LINTOUT=        lint.out
67
68# TCOV_FLAG=	-ql
69
70LDLIBS +=	-lumem -lsldap
71
72# install macros and rule
73#
74
75.KEEP_STATE:
76
77clean := TARGET= clean
78clobber := TARGET= clobber
79
80$(ROOTSVCMETHOD) := FILEMODE = 0555
81
82all: $(PROG)
83
84${PROG}: ${OBJS}
85	${LINK.c} ${OPT} -o $@ ${OBJS} ${LDLIBS}
86	${POST_PROCESS}
87
88$(ROOTLDAPLIB):
89	$(INS.dir)
90
91$(ROOTLDAPLIB)/%:	%
92	$(INS.file)
93
94lint :=	LINTFLAGS=-x -b -u -h
95
96lint:
97	$(LINT.c) ${SRCS}  > $(LINTOUT) 2>&1
98
99cstyle:
100	${CSTYLE} ${SRCS}
101
102install: all $(ROOTLDAPLIB) $(ROOTLDAPPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
103
104check:	$(CHKMANIFEST)
105
106clean:
107	$(RM) $(OBJS) $(LINTOUT)
108
109$(POFILE): $(POFILES)
110	$(RM) $@
111	cat $(POFILES) > $@
112
113include $(SRC)/cmd/Makefile.targ
114