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 #
  22 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 #
  26 
  27 LIBRARY= libresolv.a
  28 VERS= .2
  29 
  30 BSDOBJS=        putenv.o        strcasecmp.o    strsep.o \
  31                 ftruncate.o     readv.o         strdup.o        strtoul.o \
  32                 gettimeofday.o  setenv.o        strerror.o      utimes.o \
  33                 mktemp.o        setitimer.o     strpbrk.o       writev.o
  34 
  35 DSTOBJS=        dst_api.o       support.o       hmac_link.o 
  36 
  37 # inet_addr, inet_pton, inet_ntop, and inet_ntoa removed due to overlap with 
  38 # libnsl
  39 INETOBJS=       inet_net_pton.o inet_neta.o     inet_lnaof.o \
  40                 inet_netof.o    nsap_addr.o     inet_makeaddr.o \
  41                 inet_network.o  inet_net_ntop.o inet_cidr_ntop.o \
  42                 inet_cidr_pton.o                inet_data.o
  43 
  44 # build only the IRS objects that the ISC libbind's make would 
  45 IRSTHROBJS=     gethostent_r.o  getnetent_r.o   getnetgrent_r.o \
  46                 getprotoent_r.o getservent_r.o
  47 IRSOBJS=        ${IRSTHROBJS} \
  48                 dns.o           dns_ho.o        dns_nw.o        dns_pr.o \
  49                 dns_sv.o        gai_strerror.o  gen.o           gen_ho.o \
  50                 gen_ng.o        gen_nw.o        gen_pr.o        gen_sv.o \
  51                 getaddrinfo.o   gethostent.o    getnameinfo.o   getnetent.o \
  52                 getnetgrent.o   getprotoent.o   getservent.o    hesiod.o \
  53                 irp.o           irp_ho.o        irp_ng.o        irp_nw.o \
  54                 irp_pr.o        irp_sv.o        irpmarshall.o   irs_data.o \
  55                 lcl.o           lcl_ho.o        lcl_ng.o        lcl_nw.o \
  56                 lcl_pr.o        lcl_sv.o        nis.o           nul_ng.o \
  57                 util.o
  58 
  59 ISCOBJS=        assertions.o    base64.o        bitncmp.o       ctl_clnt.o \
  60                 ctl_p.o         ctl_srvr.o      ev_connects.o   ev_files.o \
  61                 ev_streams.o    ev_timers.o     ev_waits.o      eventlib.o \
  62                 heap.o          hex.o           logging.o       memcluster.o \
  63                 movefile.o      tree.o
  64 
  65 NAMESEROBJS=    ns_date.o       ns_name.o       ns_netint.o     ns_parse.o \
  66                 ns_print.o      ns_samedomain.o ns_sign.o       ns_ttl.o \
  67                 ns_verify.o     ns_rdata.o      ns_newmsg.o
  68 
  69 RESOLVOBJS=     herror.o        mtctxres.o      res_comp.o      res_data.o \
  70                 res_debug.o     res_findzonecut.o               res_init.o \
  71                 res_mkquery.o   res_mkupdate.o  res_query.o     res_send.o \
  72                 res_sendsigned.o                res_update.o
  73 
  74 SUNWOBJS=       sunw_mtctxres.o sunw_updrec.o sunw_wrappers.o
  75 
  76 OBJECTS=        $(BSDOBJS) $(DSTOBJS) $(INETOBJS) $(IRSOBJS) $(ISCOBJS) \
  77                 $(NAMESEROBJS) $(RESOLVOBJS) $(SUNWOBJS)
  78 
  79 # include library definitions
  80 include ../../Makefile.lib
  81 
  82 # install this library in the root filesystem
  83 include ../../Makefile.rootfs
  84 
  85 # CC -v complains about things we aren't going to change in the ISC code
  86 CCVERBOSE=
  87 
  88 SRCDIR =        ../common
  89 SRCS=           $(BSDOBJS:%.o=../common/bsd/%.c) \
  90                 $(DSTOBJS:%.o=../common/dst/%.c) \
  91                 $(INETOBJS:%.o=../common/inet/%.c) \
  92                 $(IRSOBJS:%.o=../common/irs/%.c) \
  93                 $(ISCOBJS:%.o=../common/isc/%.c) \
  94                 $(NAMESEROBJS:%.o=../common/nameser/%.c) \
  95                 $(RESOLVOBJS:%.o=../common/resolv/%.c) \
  96                 $(SUNWOBJS:%.o=../common/sunw/%.c)
  97 
  98 LIBS =          $(DYNLIB) $(LINTLIB)
  99 
 100 $(LINTLIB):=    SRCS = ../common/llib-lresolv
 101 
 102 # Local Libresolv definitions
 103 
 104 SOLCOMPAT =     -Dsocket=_socket
 105 CRYPTFLAGS=     -DHMAC_MD5 -DUSE_MD5
 106 
 107 LOCFLAGS +=     $(CRYPTFLAGS)
 108 LOCFLAGS +=     -D_SYS_STREAM_H -D_REENTRANT -DSVR4 -DSUNW_OPTIONS \
 109                 $(SOLCOMPAT) -I../include -I../../common/inc
 110 
 111 CPPFLAGS +=     $(LOCFLAGS) 
 112 
 113 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
 114 
 115 DYNFLAGS +=     $(ZNODELETE)
 116 
 117 LDLIBS +=       -lsocket -lnsl -lc -lmd
 118 
 119 .KEEP_STATE:
 120 
 121 all:    $(LIBS)
 122 
 123 lint:   lintcheck
 124 
 125 # include library targets
 126 include ../../Makefile.targ
 127 
 128 pics/%.o: ../common/bsd/%.c
 129         $(COMPILE.c) -o $@ $<
 130         $(POST_PROCESS_O)
 131 
 132 pics/%.o: ../common/dst/%.c
 133         $(COMPILE.c) -o $@ $<
 134         $(POST_PROCESS_O)
 135 
 136 pics/%.o: ../common/inet/%.c
 137         $(COMPILE.c) -o $@ $<
 138         $(POST_PROCESS_O)
 139 
 140 pics/%.o: ../common/irs/%.c
 141         $(COMPILE.c) -o $@ $<
 142         $(POST_PROCESS_O)
 143 
 144 pics/%.o: ../common/isc/%.c
 145         $(COMPILE.c) -o $@ $<
 146         $(POST_PROCESS_O)
 147 
 148 pics/%.o: ../common/nameser/%.c
 149         $(COMPILE.c) -o $@ $<
 150         $(POST_PROCESS_O)
 151 
 152 pics/%.o: ../common/resolv/%.c
 153         $(COMPILE.c) -o $@ $<
 154         $(POST_PROCESS_O)
 155 
 156 pics/%.o: ../common/sunw/%.c
 157         $(COMPILE.c) -o $@ $<
 158         $(POST_PROCESS_O)
 159 
 160 # install rule for lint library target
 161 $(ROOTLINTDIR)/%:       ../common/%
 162         $(INS.file)