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