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 2006 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 
  26 LIBRARY=        libdump.a
  27 
  28 # Has to be before include of Makefile.backup
  29 # This should be POFILE=libdump.po, but that causes make to
  30 # fall over due to some seriously weird interactions in the
  31 # various indirectly-included makefiles.  So, since this works
  32 # and is otherwise harmless, we fake it.
  33 PROG=           libdump
  34 
  35 # Include library definitions, then backup definitions, as in general
  36 # we want the flags and such from our tree.
  37 
  38 include ../../../lib/Makefile.lib
  39 include ../Makefile.backup
  40 
  41 SRCDIR =        .
  42 
  43 # Specifically request the construction of a static library.
  44 # This library is not installed in the proto area.
  45 LIBS=   $(LIBRARY)
  46 
  47 HDRS=           ../include/byteorder.h \
  48         ../include/memutils.h ../include/myrcmd.h \
  49         ../../../head/protocols/dumprestore.h \
  50         ../include/rmt.h
  51 
  52 YFILE=          getdate.y
  53 YSRC=           getdate.c
  54 
  55 CLOBBERFILES += $(LIBS) $(GLIB)
  56 
  57 LOBJS=          rmtlib.o myrcmd.o \
  58                 $(YSRC:%.c=%.o) \
  59                 byteorder.o memutils.o $(RPC_CLNT:%.c=%.o) $(RPC_XDR:%.c=%.o)
  60 
  61 OBJECTS=        $(LOBJS)
  62 POFILES=        $(OBJECTS:.o=.po)
  63 GENERAL=        ../include
  64 GLOBAL=         ../../../head
  65 CPPFLAGS=       -I$(GENERAL) -I$(GLOBAL) $(CPPFLAGS.master)
  66 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  67 CERRWARN +=     -_gcc=-Wno-parentheses
  68 CERRWARN +=     -_gcc=-Wno-unused-label
  69 CERRWARN +=     -_gcc=-Wno-unused-variable
  70 LINTOUT=        lint.out
  71 CLEANFILES=     $(OBJECTS) $(LINTOUT) $(LINTLIB) $(DEBUGS) *.ln \
  72                 $(YSRC) $(LIBRARY)
  73 LINTFLAGS +=    -y
  74 
  75 # support for -g library
  76 GLIB=           libdump_g.a
  77 DEBUGS=         $(OBJECTS:%=.debug/%)
  78 $(GLIB):=       AROBJS = $(DEBUGS)
  79 $(GLIB):=       DIR = .debug
  80 $(GLIB):=       CFLAGS= $(CCGDEBUG) $(XESS) -DDEBUG -DYYDEBUG ${SBFLAGS}
  81 
  82 .KEEP_STATE:
  83 
  84 all:    $(LIBS)
  85 
  86 debug:  $(LIBS) $(GLIB)
  87 
  88 .debug:
  89         -@mkdir -p $@
  90 
  91 .debug/%.o: %.c
  92         $(COMPILE.c) -o $@ $<
  93         $(POST_PROCESS_O)
  94 
  95 $(GLIB): .debug $$(DEBUGS)
  96         $(BUILD.AR)
  97         $(POST_PROCESS_A)
  98 
  99 $(OBJECTS):     $(HDRS)
 100 
 101 install:        all
 102 
 103 $(POFILE):      $(POFILES)
 104         $(RM) $@; cat $(POFILES) > $@
 105 
 106 # rpcgen produces unused local variables that we can't easily suppress.
 107 # It is also stupid about 32/64 bit integers.  Since we don't support
 108 # the RPC subsystem any more, just ignore complaints about it all.
 109 # We have no control over yaccpar, and it has lots of 32/64 complaints.
 110 # Assumes lint run with -s argument
 111 lint:           lint.out
 112         sed -f lint.sed lint.out
 113 
 114 lint.out:       $(LINTLIB)
 115 
 116 check:  $(HDRS)
 117         $(CSTYLE) $(CSTYLEFLAGS) `echo $(SRCS) | sed -e s/getdate.c//` $(HDRS)
 118         $(HDRCHK) $(HDRCHKFLAGS) $(HDRS)
 119 
 120 # include library targets
 121 include ../../../lib/Makefile.targ
 122 
 123 _msg:           $(POFILE)