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