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) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  22 #
  23 # Copyright (c) 2018, Joyent, Inc.
  24 
  25 ILBD=           ilbd
  26 PROG=           $(ILBD)
  27 MANIFEST=       ilbd.xml
  28 
  29 ILBD_OBJS=      ilbd_main.o ilbd_support.o ilbd_sg.o ilbd_rules.o ilbd_hc.o \
  30                 ilbd_nat.o ilbd_scf.o
  31 ILBD_SRCS=      $(ILBD_OBJS:%.o=%.c)
  32 HDRS=           ilbd.h
  33 
  34 LIB_INC=        $(SRC)/lib/libilb/common
  35 
  36 OBJS=           $(ILBD_OBJS)
  37 SRCS=           $(ILBD_SRCS)
  38 
  39 ILBSUBDIRS=     ilb
  40 
  41 include         ../../../Makefile.cmd
  42 include         ../../../Makefile.ctf
  43 include         ../../Makefile.cmd-inet
  44 
  45 ROOTMANIFESTDIR=        $(ROOTSVCNETWORK)/loadbalancer
  46 
  47 CHECKHDRS=      $(HDRS:%.h=%.check)
  48 
  49 CPPFLAGS +=     -D_FILE_OFFSET_BITS=64 -I$(CMDINETCOMMONDIR) -D_REENTRANT
  50 CPPFLAGS +=     -I$(LIB_INC)
  51 CPPFLAGS +=     -I$(SRC)/uts/common
  52 
  53 CERRWARN +=     -_gcc=-Wno-switch
  54 CERRWARN +=     $(CNOWARN_UNINIT)
  55 CERRWARN +=     -_gcc=-Wno-unused-label
  56 
  57 # not linted
  58 SMATCH=off
  59 
  60 CSTD =      $(CSTD_GNU99)
  61 
  62 # I18n
  63 POFILE =        $(ILBD).po
  64 POFILES =       $(ILBD_SRCS:%.c=%.po)
  65 
  66 all:=           TARGET= all
  67 install:=       TARGET= install
  68 clean:=         TARGET= clean
  69 clobber:=       TARGET= clobber
  70 lint:=          TARGET= lint
  71 
  72 
  73 LDLIBS +=       -lcmdutils -lsocket -lsecdb -lnsl -lilb -lscf -linetutil -lbsm
  74 
  75 .KEEP_STATE:
  76 
  77 all:            $(PROG)
  78 
  79 $(ILBD):        $(OBJS)
  80                 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) $(CTFMERGE_HOOK)
  81                 $(POST_PROCESS)
  82 
  83 include ../Makefile.lib
  84 
  85 install:        all $(ROOTLIBINETPROG) $(ETCILBDFILES) $(ROOTMANIFEST)
  86 
  87 check:  $(CHKMANIFEST) $(CHECKHDRS)
  88 
  89 clean:
  90         $(RM) $(OBJS)
  91 
  92 lint:
  93         $(LINT.c) $(ILBD_SRCS) $(LDLIBS)
  94 
  95 $(POFILE):      $(POFILES)
  96                 $(RM) $@
  97                 $(CAT) $(POFILES) > $@
  98 
  99 all install clean clobber lint: $(ILBSUBDIRS)
 100 
 101 include         ../../../Makefile.targ
 102 
 103 $(ILBSUBDIRS): FRC
 104         @cd $@; pwd; $(MAKE) $(TARGET)
 105 
 106 FRC: