xref: /titanic_52/usr/src/cmd/dcs/sparc/sun4u/Makefile (revision f5c2e7ea56aaa46a9976476fb0cb1f02b9426f07)
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
92CERRWARN +=	-_gcc=-Wno-parentheses
93CERRWARN +=	-_gcc=-Wno-uninitialized
94
95#
96# LIBRARIES:
97#
98MULTI_THR_LIBS=		-D_REENTRANT
99
100MULTI_PROC_LIBS=
101
102LDLIBS +=	$($(CONCURR_MODE)_LIBS) \
103		-lsocket \
104		-lcfgadm \
105		-ldevinfo \
106		-lrcm \
107		-lnvpair \
108		-lkstat
109
110.KEEP_STATE:
111
112
113all: $(PROG)
114
115$(PROG): $(OBJS) $(HDRS)
116	$(CC) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS)
117	$(POST_PROCESS)
118
119install: all .WAIT $(ROOTLIBPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
120
121check:	$(CHKMANIFEST)
122
123lint:
124	$(LINT) $(LINT_FLAGS) $(CPPFLAGS) $(LINT_SRCS)
125
126clean:
127	$(RM) $(PROG) $(OBJS) $(LINT_FILES) $(POFILES) $(POFILE) core
128
129$(POFILE): $(POFILES)
130	$(RM) $(POFILE)
131	cat $(POFILES) > $(POFILE)
132
133include ../../../Makefile.targ
134include ../../../../Makefile.psm.targ
135