xref: /illumos-gate/usr/src/cmd/idmap/idmapd/Makefile (revision c10c16dec587a0662068f6e2991c29ed3a9db943)
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 (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24
25PROG =		idmapd
26MANIFEST =	idmap.xml
27SERVEROBJS =				\
28	directory_provider_builtin.o	\
29	directory_provider_nsswitch.o	\
30	directory_provider_ad.o		\
31	directory_server.o		\
32	adutils.o			\
33	dbutils.o			\
34	idmap_config.o			\
35	idmapd.o			\
36	init.o				\
37	idmap_lsa.o			\
38	nldaputils.o			\
39	rpc_svc.o			\
40	server.o			\
41	wksids.o
42
43SERVERSRCS =	$(SERVEROBJS:%.o=%.c)
44OBJS =		$(SERVEROBJS)
45SRCS =		$(SERVERSRCS)
46POFILES =	$(OBJS:%.o=%.po)
47
48all :=		TARGET = all
49install :=	TARGET = install
50clean :=	TARGET = clean
51clobber :=	TARGET = clobber
52
53LIBSQLITE =	$(ROOT)/usr/lib/libsqlite.o
54SQLITELINT =	$(ROOT)/usr/lib/llib-lsqlite.ln
55
56include ../../Makefile.cmd
57
58TEXT_DOMAIN =	SUNW_OST_OSLIB
59XGETTEXT =	$(GNUXGETTEXT)
60XGETFLAGS =	--foreign-user --strict -n -E --width=72 \
61		--omit-header --keyword=directoryError:2 \
62		--language=C --force-po
63
64C99MODE = $(C99_ENABLE)
65POFILE =	$(PROG)_all.po
66
67RPC_MSGOUT_OPT = -DRPC_MSGOUT=idmap_rpc_msgout
68
69ROOTMANIFESTDIR = $(ROOTSVCSYSTEM)
70$(ROOTMANIFEST) := FILEMODE= 444
71
72INCS += -I. -I../../../lib/libidmap/common\
73	 -I../../../lib/libsldap/common\
74	 -I../../../lib/libadutils/common \
75	 -I../../../lib/smbsrv/libsmb/common
76
77$(OBJS) := CPPFLAGS += $(INCS) -D_REENTRANT
78$(POFILE) := CPPFLAGS += $(INCS)
79
80CFLAGS += -v
81LDLIBS += -lsecdb \
82	-lsocket \
83	-lnsl \
84	-lidmap \
85	-lscf \
86	-lsldap \
87	-lldap \
88	-luuid \
89	-ladutils \
90	-lumem \
91	-lnvpair \
92	-luutil \
93	-L $(ROOT)/usr/lib/smbsrv \
94	-lsmb
95
96rpc_svc.o := CFLAGS += $(RPC_MSGOUT_OPT)
97
98$(PROG) := MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB)
99$(PROG) := LDFLAGS += $(MAPFILES:%=-M%) \
100	-R /usr/lib/smbsrv
101
102DIRMODE = 0755
103FILEMODE = 0555
104
105lint_SRCS := CPPFLAGS += $(INCS) -D_REENTRANT $(RPC_MSGOUT_OPT)
106lint := LDLIBS += $(SQLITELINT)
107
108.KEEP_STATE:
109
110.PARALLEL: $(OBJS)
111
112all: $(PROG)
113
114$(PROG): $(OBJS) $$(MAPFILES)
115	$(LINK.c) -o $@ $(OBJS) $(LIBSQLITE) $(LDLIBS)
116	$(POST_PROCESS)
117
118$(POFILE): $(POFILES)
119	$(RM) $(POFILE)
120	cat $(POFILES) > $(POFILE)
121
122install: all $(ROOTLIBPROG) $(ROOTMANIFEST)
123
124check: $(CHKMANIFEST)
125
126clean:
127	$(RM) $(OBJS)
128
129clobber:
130
131lint:   lint_SRCS
132
133lint_SRCS:
134
135include ../../Makefile.targ
136
137FRC:
138
139