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) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
  23 # Copyright (c) 2013 RackTop Systems.
  24 #
  25 # cmd/oamuser/user/Makefile
  26 #
  27 
  28 include ../../Makefile.cmd
  29 
  30 GREP=           grep
  31 
  32 USERADD=        useradd
  33 USERDEL=        userdel
  34 USERMOD=        usermod
  35 ROLEADD=        roleadd
  36 ROLEDEL=        roledel
  37 ROLEMOD=        rolemod
  38 
  39 SBINPROG=       $(USERADD)   $(USERDEL)   $(USERMOD)
  40 #
  41 #       Removing sysadm: deleted $(SYSADMPROG) from this target.
  42 #
  43 PROG=           $(SBINPROG)
  44 PRODUCT=        $(PROG)
  45 
  46 ADD_OBJ=        useradd.o     homedir.o        groups.o     call_pass.o \
  47                 userdefs.o    messages.o       val_lgrp.o   funcs.o \
  48                 val_lprj.o    proj.o
  49 
  50 DEL_OBJ=        userdel.o     call_pass.o      rmfiles.o    isbusy.o \
  51                 groups.o      messages.o       funcs.o      proj.o
  52 
  53 MOD_OBJ=        usermod.o     movedir.o        groups.o     rmfiles.o \
  54                 call_pass.o   isbusy.o         homedir.o    userdefs.o \
  55                 messages.o    val_lgrp.o       funcs.o      val_lprj.o \
  56                 proj.o
  57 
  58 OBJECTS=        $(ADD_OBJ)     $(DEL_OBJ)    $(MOD_OBJ)
  59 
  60 SRCS=           $(OBJECTS:.o=.c)
  61 
  62 LIBDIR=         ../lib
  63 LIBUSRGRP=      $(LIBDIR)/lib.a
  64 LIBADM=         -ladm
  65 LOCAL=          ../inc
  66 HERE=           .
  67 LINTFLAGS=      -u
  68 
  69 ROOTSKEL=       $(ROOTETC)/skel
  70 INSSBINPROG=    $(SBINPROG:%=$(ROOTUSRSBIN)/%)
  71 INSSKELFILE=    $(SKELFILE:%=$(ROOTSKEL)/%)
  72 
  73 CPPFLAGS=       -I$(HERE) -I$(LOCAL) $(CPPFLAGS.master)
  74 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  75 
  76 $(INSSBINPROG)  := FILEMODE = 0555
  77 $(INSSYSADMPROG):= FILEMODE = 0500
  78 $(INSSKELFILE)  := FILEMODE = 0644
  79 
  80 $(USERADD) :=   OBJS = $(ADD_OBJ)
  81 $(USERADD) :=   LIBS = $(LIBUSRGRP)
  82 $(USERADD) :=   LDLIBS += -lcmdutils
  83 
  84 $(USERDEL) :=   OBJS = $(DEL_OBJ)
  85 $(USERDEL) :=   LIBS = $(LIBUSRGRP)
  86 
  87 $(USERMOD) :=   OBJS = $(MOD_OBJ)
  88 $(USERMOD) :=   LIBS = $(LIBUSRGRP)
  89 
  90 LDLIBS +=       -lbsm -lnsl -lsecdb -lproject -ltsol
  91 
  92 .PARALLEL: $(OBJECTS)
  93 
  94 all:            $(PRODUCT)
  95 
  96 $(PROG):        $$(OBJS) $$(LIBS)
  97         $(LINK.c) $(OBJS) -o $@ $(LIBS) $(LDLIBS)
  98         $(POST_PROCESS)
  99 
 100 $(USERADD):     $(ADD_OBJ)
 101 $(USERMOD):     $(MOD_OBJ)
 102 $(USERDEL):     $(DEL_OBJ)
 103 
 104 install:        all .WAIT $(ROOTSKEL) $(INSSBINPROG) $(INSSKELFILE)
 105                 $(RM) $(ROOTUSRSBIN)/$(ROLEADD)
 106                 $(LN) $(ROOTUSRSBIN)/$(USERADD) $(ROOTUSRSBIN)/$(ROLEADD)
 107                 $(RM) $(ROOTUSRSBIN)/$(ROLEDEL)
 108                 $(LN) $(ROOTUSRSBIN)/$(USERDEL) $(ROOTUSRSBIN)/$(ROLEDEL)
 109                 $(RM) $(ROOTUSRSBIN)/$(ROLEMOD)
 110                 $(LN) $(ROOTUSRSBIN)/$(USERMOD) $(ROOTUSRSBIN)/$(ROLEMOD)
 111 
 112 clean:
 113         $(RM) $(OBJECTS)
 114 
 115 lint:   lint_SRCS
 116 
 117 include ../../Makefile.targ