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 
  28 MANIFEST=       dcs.xml
  29 
  30 include ../../../Makefile.cmd
  31 include ../../../../Makefile.psm
  32 
  33 PROG=           dcs
  34 
  35 CLASS=          32
  36 
  37 PLATFORM=       sun4u
  38 
  39 SVCMETHOD=      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 #
  50 CONCURR_MODE=   MULTI_PROC
  51 
  52 SRCS=           dcs.c \
  53                 dcs_ses.c \
  54                 dcs_msg.c \
  55                 rdr_messages.c \
  56                 rsrc_info.c \
  57                 ri_init.c
  58 
  59 HDRS=           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 
  67 OBJS=           $(SRCS:%.c=%.o)
  68 
  69 LINT_SRCS=      $(SRCS)
  70 LINT_FILES=     $(LINT_SRCS:%.c=%.ln)
  71 
  72 POFILES=        dcs_msg.po
  73 
  74 $(ROOTLIBPROG) :=       FILEMODE=       0755
  75 
  76 ROOTMANIFESTDIR=        $(ROOTSVCPLATFORMSUN4U)
  77 
  78 #
  79 # FLAGS:
  80 #
  81 MULTI_THR_FLAGS=        -D_REENTRANT -DDCS_MULTI_THREAD
  82 
  83 MULTI_PROC_FLAGS=       -D__EXTENSIONS__
  84 
  85 CPPFLAGS=       -I$(USR_PSM_INCL_DIR) $(CPPFLAGS.master) \
  86                 $($(CONCURR_MODE)_FLAGS)
  87 
  88 LINT_FLAGS=     -c -Nlevel=4 -Ncheck $($(CONCURR_MODE)_FLAGS)
  89 
  90 XGETFLAGS +=    -a -s -x $(PROG).xcl
  91 
  92 CERRWARN +=     -_gcc=-Wno-parentheses
  93 CERRWARN +=     -_gcc=-Wno-uninitialized
  94 
  95 #
  96 # LIBRARIES:
  97 #
  98 MULTI_THR_LIBS=         -D_REENTRANT
  99 
 100 MULTI_PROC_LIBS=
 101 
 102 LDLIBS +=       $($(CONCURR_MODE)_LIBS) \
 103                 -lsocket \
 104                 -lcfgadm \
 105                 -ldevinfo \
 106                 -lrcm \
 107                 -lnvpair \
 108                 -lkstat
 109 
 110 .KEEP_STATE:
 111 
 112 
 113 all: $(PROG)
 114 
 115 $(PROG): $(OBJS) $(HDRS)
 116         $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS)
 117         $(POST_PROCESS)
 118 
 119 install: all .WAIT $(ROOTLIBPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
 120 
 121 check:  $(CHKMANIFEST)
 122 
 123 lint:
 124         $(LINT) $(LINT_FLAGS) $(CPPFLAGS) $(LINT_SRCS)
 125 
 126 clean:
 127         $(RM) $(PROG) $(OBJS) $(LINT_FILES)
 128 
 129 $(POFILE): $(POFILES)
 130         $(RM) $(POFILE)
 131         cat $(POFILES) > $(POFILE)
 132 
 133 include ../../../Makefile.targ
 134 include ../../../../Makefile.psm.targ