1 # CDDL HEADER START
   2 #
   3 # The contents of this file are subject to the terms of the
   4 # Common Development and Distribution License (the "License").
   5 # You may not use this file except in compliance with the License.
   6 #
   7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   8 # or http://www.opensolaris.org/os/licensing.
   9 # See the License for the specific language governing permissions
  10 # and limitations under the License.
  11 #
  12 # When distributing Covered Code, include this CDDL HEADER in each
  13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  14 # If applicable, add the following below this CDDL HEADER, with the
  15 # fields enclosed by brackets "[]" replaced with your own identifying
  16 # information: Portions Copyright [yyyy] [name of copyright owner]
  17 #
  18 # CDDL HEADER END
  19 #
  20 #
  21 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  22 # Use is subject to license terms.
  23 #
  24 #
  25 
  26 # must be before include of Makefile.cmd
  27 DYNPROG = scmadm \
  28         sd_stats \
  29         sd_diag
  30 
  31 include ../../Makefile.cmd
  32 include ../Makefile.com
  33 
  34 SUBDIRS=        etc
  35 
  36 PROG = $(DYNPROG)
  37 
  38 scmadm          := POBJS = scmadm.o sdbc_ioctl.o
  39 sd_stats        := POBJS = sd_stats.o sd_trace.o sdbc_ioctl.o rdc_ioctl.o
  40 sd_diag         := POBJS = sd_diag.o
  41 sdbc_dynmem     := POBJS = sdbc_dynmem.o
  42 
  43 OBJS=   scmadm.o\
  44         sdbc_ioctl.o\
  45         sd_diag.o\
  46         sd_stats.o\
  47         sd_trace.o\
  48         sdbc_dynmem.o
  49 
  50 XTRA_OBJS= \
  51         rdc_ioctl.o
  52 
  53 SRCS=   $(OBJS:%.o=%.c)
  54 
  55 POFILE =        scmadm.po
  56 
  57 scmadm          := LDLIBS += -lnsctl -lunistat -ldscfg
  58 sd_stats        := LDLIBS += -lunistat -lcurses
  59 sd_diag         := LDLIBS += -lnsctl
  60 sdbc_dynmem     := LDLIBS += -lkstat
  61 
  62 CFLAGS +=       $(CCVERBOSE) -D_SCM_ -D_SD_8K_BLKSIZE -D_SYSCALL32
  63 CPPFLAGS +=     -DNSC_MULTI_TERABYTE
  64 LINTFLAGS +=    -Xa -n -s -x -m -u -Dlint -errhdr=%user
  65 LINTFLAGS +=    -D_SCM_ -D_SD_8K_BLKSIZE -D_SYSCALL32
  66 LINTFLAGS +=    -erroff=E_SEC_PRINTF_VAR_FMT
  67 LINTFLAGS +=    -erroff=E_SEC_SPRINTF_UNBOUNDED_COPY
  68 LINTFLAGS +=    -erroff=E_SEC_SCANF_UNBOUNDED_COPY
  69 LINTFLAGS +=    -erroff=E_SEC_FORBIDDEN_WARN_ASCFTIME
  70 LINTFLAGS +=    -DDEBUG
  71 CERRWARN +=     -_gcc=-Wno-uninitialized
  72 ROOTLINK = $(ROOTUSRSBIN)/scmadm
  73 
  74 all     :=      TARGET= all
  75 install :=      TARGET= install
  76 clean   :=      TARGET= clean
  77 clobber :=      TARGET= clobber
  78 lint    :=      TARGET= lint
  79 
  80 .KEEP_STATE:
  81 
  82 .PARALLEL: $(OBJS) $(XTRA_OBJS)
  83 
  84 all:    $(SUBDIRS) $(PROG) $(POFILE)
  85 
  86 install: $(SUBDIRS) all $(ROOTPROG) $(ROOTLINK)
  87 
  88 lint:   $(SUBDIRS) lint_SRCS
  89 
  90 clean:  $(SUBDIRS)
  91         $(RM) *.o
  92 
  93 rdc_ioctl.o: ../rdc/rdc_ioctl.c
  94         $(COMPILE.c) ../rdc/rdc_ioctl.c
  95 
  96 $(PROG):        $$(POBJS)
  97         $(LINK.c) $(POBJS) -o $@ $(LDLIBS)
  98         $(POST_PROCESS)
  99 
 100 $(SUBDIRS):     FRC
 101         @cd $@; pwd; $(MAKE) $(TARGET)
 102 
 103 $(ROOTLINK): $(ROOTUSRSBIN) $(ROOTBIN)/scmadm
 104         -$(RM) $@; $(LN) $(ROOTBIN)/scmadm $@
 105 
 106 include ../../Makefile.targ
 107 
 108 FRC: