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 2007 Sun Microsystems, Inc.  All rights reserved.
  22 # Use is subject to license terms.
  23 # Copyright 2016 Toomas Soome <tsoome@me.com>
  24 #
  25 # Copyright (c) 2018, Joyent, Inc.
  26 
  27 PROG=           mdnsd
  28 MANIFEST=       multicast.xml
  29 
  30 CMN_DIR=        $(SRC)/lib/libdns_sd/common
  31 CMN_OBJS=       dnssd_ipc.o
  32 CMN_SRCS=       $(CMN_OBJS:%.o=$(CMN_DIR)/%.c)
  33 
  34 LOCAL_OBJS=     DNSCommon.o DNSDigest.o GenLinkedList.o \
  35                 PlatformCommon.o PosixDaemon.o \
  36                 mDNS.o mDNSDebug.o mDNSPosix.o mDNSUNP.o \
  37                 uDNS.o uds_daemon.o CryptoAlg.o anonymous.o
  38 LOCAL_SRCS=     $(LOCAL_OBJS:%.o=%.c)
  39 
  40 SRCS=           $(LOCAL_SRCS) $(CMN_SRCS)
  41 OBJS=           $(LOCAL_OBJS) $(CMN_OBJS)       
  42 
  43 
  44 MDNSFLAGS=      -DNOT_HAVE_SA_LEN \
  45                 -DLOG_PERROR=0 -DHAVE_SOLARIS -DTARGET_OS_SOLARIS \
  46                 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME \
  47                 -DHAVE_IPV6=1 -Dasm=__asm -DMDNSD_NOROOT \
  48                 -DPID_FILE=\"\" -DMDNSD_USER=\"noaccess\" \
  49                 -DMDNS_VERSIONSTR_NODTS
  50 
  51 include ../../../Makefile.cmd
  52 
  53 CERRWARN +=     -_gcc=-Wno-unused-variable
  54 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  55 CERRWARN +=     -_gcc=-Wno-uninitialized
  56 
  57 # not linted
  58 SMATCH=off
  59 
  60 ROOTMANIFESTDIR=        $(ROOTSVCNETWORKDNS)
  61 $(ROOTMANIFEST)         := FILEMODE= 444
  62 
  63 .PARALLEL:      $(LOCAL_OBJS)
  64 .WAIT:          $(PROG)
  65 .KEEP_STATE:
  66 
  67 all:    $(PROG)
  68 
  69 $(PROG): $(OBJS)
  70         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  71         $(POST_PROCESS)
  72 
  73 include ../Makefile.lib
  74 
  75 CSTD = $(CSTD_GNU99)
  76 CPPFLAGS += -D_REENTRANT $(MDNSFLAGS) -I$(CMN_DIR)
  77 LDLIBS += -lsocket -lnsl
  78 
  79 install:        all $(ROOTLIBINETPROG) $(ROOTMANIFEST)
  80 
  81 %.o:            $(CMN_DIR)/%.c
  82                 $(COMPILE.c) $(OUTPUT_OPTION) $<
  83                 $(POST_PROCESS_O)
  84 
  85 check:          $(CHKMANIFEST)
  86 
  87 clean:
  88         $(RM) $(OBJS)
  89 
  90 lint:           lint_SRCS
  91 
  92 include ../../../Makefile.targ