xref: /illumos-gate/usr/src/cmd/dcs/sparc/sun4u/Makefile (revision 4445fffbbb1ea25fd0e9ea68b9380dd7a6709025)
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# Makefile definitions for Domain Configuration Server (DCS)
26#
27
28MANIFEST=	dcs.xml
29
30include ../../../Makefile.cmd
31include ../../../../Makefile.psm
32
33PROG=		dcs
34
35CLASS=		32
36
37PLATFORM=	sun4u
38
39SVCMETHOD=	svc-$(PROG)
40
41#
42# Set CONCURR_MODE to one of the following:
43#
44#	MULTI_THR  - multiple threads with _no_ i18n support*
45#	MULTI_PROC - multiple processes with i18n support
46#
47# * Currently, there is no per thread locale support in Solaris.
48#   Thus, multiple processes is the only way to fully support i18n.
49#
50CONCURR_MODE=	MULTI_PROC
51
52SRCS=		dcs.c \
53		dcs_ses.c \
54		dcs_msg.c \
55		rdr_messages.c \
56		rsrc_info.c \
57		ri_init.c
58
59HDRS=		dcs.h \
60		rdr_messages.h \
61		rdr_param_types.h \
62		remote_cfg.h \
63		rsrc_info.h \
64		rsrc_info_impl.h \
65		$(USR_PSM_ISYS_DIR)/sbd_ioctl.h
66
67OBJS=		$(SRCS:%.c=%.o)
68
69LINT_SRCS=	$(SRCS)
70LINT_FILES=	$(LINT_SRCS:%.c=%.ln)
71
72POFILES=	dcs_msg.po
73
74$(ROOTLIBPROG) :=	FILEMODE=	0755
75
76ROOTMANIFESTDIR=	$(ROOTSVCPLATFORMSUN4U)
77
78#
79# FLAGS:
80#
81MULTI_THR_FLAGS=	-D_REENTRANT -DDCS_MULTI_THREAD
82
83MULTI_PROC_FLAGS=	-D__EXTENSIONS__
84
85CPPFLAGS= 	-I$(USR_PSM_INCL_DIR) $(CPPFLAGS.master) \
86		$($(CONCURR_MODE)_FLAGS)
87
88LINT_FLAGS=	-c -Nlevel=4 -Ncheck $($(CONCURR_MODE)_FLAGS)
89
90XGETFLAGS +=	-a -s -x $(PROG).xcl
91
92
93#
94# LIBRARIES:
95#
96MULTI_THR_LIBS=		-D_REENTRANT
97
98MULTI_PROC_LIBS=
99
100LDLIBS +=	$($(CONCURR_MODE)_LIBS) \
101		-lsocket \
102		-lcfgadm \
103		-ldevinfo \
104		-lrcm \
105		-lnvpair \
106		-lkstat
107
108.KEEP_STATE:
109
110
111all: $(PROG)
112
113$(PROG): $(OBJS) $(HDRS)
114	$(CC) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS)
115	$(POST_PROCESS)
116
117install: all .WAIT $(ROOTLIBPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
118
119check:	$(CHKMANIFEST)
120
121lint:
122	$(LINT) $(LINT_FLAGS) $(CPPFLAGS) $(LINT_SRCS)
123
124clean:
125	$(RM) $(PROG) $(OBJS) $(LINT_FILES) $(POFILES) $(POFILE) core
126
127$(POFILE): $(POFILES)
128	$(RM) $(POFILE)
129	cat $(POFILES) > $(POFILE)
130
131include ../../../Makefile.targ
132include ../../../../Makefile.psm.targ
133