xref: /illumos-gate/usr/src/cmd/cmd-inet/usr.sbin/in.routed/Makefile (revision 2bbdd445a21f9d61f4a0ca0faf05d5ceb2bd91f3)
1#
2#
3# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4# Use is subject to license terms.
5#
6
7ROUTEDPROG=	in.routed
8ROUTEDOBJS=	common.o if.o input.o main.o output.o parms.o radix.o \
9                rdisc.o table.o trace.o
10ROUTEDSRCS=	$(ROUTEDOBJS:.o=.c)
11RTQUERYPROG=	rtquery
12RTQUERYOBJS=	common.o rtquery.o
13RTQUERYSRCS=	$(RTQUERYOBJS:.o=.c)
14POFILEOBJS=	$(ROUTEDOBJS) $(RTQUERYOBJS)
15
16PROG=		$(ROUTEDPROG) $(RTQUERYPROG)
17SRCS=		$(ROUTEDSRCS) $(RTQUERYSRCS)
18
19MANIFEST=		route.xml
20SVCMETHOD=		svc-route
21
22include		../../../Makefile.cmd
23
24ROOTMANIFESTDIR=	$(ROOTSVCNETWORKROUTING)
25
26#
27# in.routed uses ancillary data features available through
28# the Open Group's Networking Services standard.  The following
29# pre-processor definitions enable these features.
30#
31_D_XOPEN_EXTN = -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
32
33# Turning on __EXTENSIONS__ breaks lint, and we need __EXTENSIONS__.
34# This is really a lint problem, so around the breakage.
35LINTFLAGS += -erroff=E_FUNC_DECL_VAR_ARG2 -erroff=E_INCONS_VAL_TYPE_DECL2 \
36	     -erroff=E_INCONS_ARG_DECL2 -erroff=E_INCONS_ARG_USED2
37
38CPPFLAGS +=	$(_D_XOPEN_EXTN)
39CFLAGS +=	$(CCVERBOSE)
40CERRWARN +=	-_gcc=-Wno-parentheses
41CERRWARN +=	-_gcc=-Wno-uninitialized
42LDLIBS +=	-lxnet -lmd -lsocket
43CLEAN_FILES +=	$(ROUTEDOBJS) $(RTQUERYOBJS)
44CLOBBERFILES +=	$(ROUTEDPROG) $(RTQUERYPROG)
45#
46# Message catalog
47#
48POFILE=		in.routed.po
49POFILES=  $(POFILEOBJS:.o=.po)
50#
51$(ROUTEDPROG):=	LDLIBS += -lkstat
52lint	:=	LDLIBS += -lkstat
53
54# This needs to be done because of SPARC/x86 differences.  On x86,
55# double has required alignment of only 4 bytes, but on SPARC it's 8
56# bytes.  This means that sockaddr_in can be casted to
57# sockaddr_storage without complaint on x86, but requires a
58# suppression directive on SPARC.
59LINTFLAGS +=	-erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
60
61CTFCONVERT_HOOK = && $(CTFCONVERT_O)
62CTFMERGE_HOOK = && $(CTFMERGE) -L VERSION -o $@ $(ROUTEDOBJS)
63$(ROUTEDOBJS) := CFLAGS += $(CTF_FLAGS)
64$(RTQUERYOBJS) := CFLAGS += $(CTF_FLAGS)
65
66.KEEP_STATE:
67
68.PARALLEL: $(ROUTEDPROG) $(RTQUERYOBJS)
69
70all:	$(PROG)
71
72$(POFILE): $(POFILES)
73	$(RM) $@
74	cat $(POFILES) > $@
75
76$(ROUTEDPROG):	$(ROUTEDOBJS)
77	$(LINK.c) -o $@ $(ROUTEDOBJS) $(LDLIBS) $(CTFMERGE_HOOK)
78	$(POST_PROCESS)
79
80$(RTQUERYPROG): $(RTQUERYOBJS)
81	$(LINK.c) -o $@ $(RTQUERYOBJS) $(LDLIBS) -lresolv $(CTFMERGE_HOOK)
82	$(POST_PROCESS)
83
84lint:
85	$(LINT.c) $(ROUTEDSRCS) $(LDLIBS)
86	$(LINT.c) $(RTQUERYSRCS) $(LDLIBS)
87
88install:	all $(ROOTUSRSBINPROG) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
89
90check:		$(CHKMANIFEST)
91
92clean:
93	$(RM) $(CLEAN_FILES)
94
95include		../../../Makefile.targ
96