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