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 (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
  23 #
  24 # Copyright (c) 2019, Joyent, Inc.
  25 
  26 LIBRARY=        libtnfprobe.a
  27 VERS=           .1
  28 OBJECTS.c=      tnf_buf.o       \
  29                 trace_init.o    \
  30                 trace_funcs.o   \
  31                 debug_funcs.o   \
  32                 probe_mem.o     \
  33                 tnf_args.o      \
  34                 tnf_trace.o     \
  35                 probe_cntl.o
  36 
  37 UFSDIR=         $(SRC)/uts/common/tnf
  38 UFSOBJS=        tnf_writer.o tnf_probe.o
  39 
  40 OBJECTS.s=      $(MACH)_locks.o
  41 
  42 OBJECTS=        $(OBJECTS.c) $(UFSOBJS) $(OBJECTS.s)
  43 
  44 include ../../Makefile.lib
  45 
  46 # We omit $(OBJECTS.s:%.o=%.s) in the next line, because lint no like
  47 SRCS= $(OBJECTS.c:%.o=../%.c) $(UFSOBJS:%.o=$(UFSDIR)/%.c)
  48 
  49 LIBS=           $(DYNLIB)
  50 
  51 DYNFLAGS +=     $(ZINTERPOSE)
  52 
  53 HDRS=           com.h writer.h probe.h
  54 ROOTHDRDIR=     $(ROOT)/usr/include/tnf
  55 ROOTHDRS=       $(HDRS:%=$(ROOTHDRDIR)/%)
  56 CHECKHDRS=      $(HDRS:%.h=%.check)
  57 $(ROOTHDRS) :=  FILEMODE = 0644
  58 CHECKHDRS =     $(HDRS:%.h=%.check)
  59 
  60 # Include .. first to pick up tnf_trace.h in current dir, Include UFSDIR to
  61 #       pick up tnf_types.h
  62 CPPFLAGS +=     -I.. -I$(UFSDIR) -D_REENTRANT -D_TNF_LIBRARY
  63 
  64 LINTFLAGS +=    -y
  65 
  66 CERRWARN +=     -_gcc=-Wno-unused-variable
  67 CERRWARN +=     -_gcc=-Wno-parentheses
  68 CERRWARN +=     -_gcc=-Wno-uninitialized
  69 
  70 # not linted
  71 SMATCH=off
  72 
  73 $(ROOTHDRS) :=  FILEMODE = 644
  74 
  75 LDLIBS += -lc
  76 
  77 .KEEP_STATE:
  78 
  79 all: $(LIBS)
  80 
  81 install_h: $(ROOTHDRDIR) $(ROOTHDRS)
  82 
  83 lint:
  84         $(LINT.c) $(SRCS)
  85 
  86 check: $(CHECKHDRS)
  87 
  88 $(ROOTLIBDIR) $(ROOTHDRDIR):
  89         $(INS.dir)
  90 
  91 $(ROOTHDRDIR)/% : %
  92         $(INS.file)
  93 
  94 #ASFLAGS=       $(AS_PICFLAGS) -P -D_SYS_SYS_S -D_LOCORE -D_ASM -DPIC -DLOCORE $(CPPFLAGS)
  95 ASFLAGS=        -P -D_SYS_SYS_S -D_LOCORE -D_ASM -DPIC -DLOCORE $(CPPFLAGS)
  96 BUILD.s=        $(AS) $(ASFLAGS) $< -o $@
  97 
  98 objs/%.o pics/%.o: ../%.s
  99                 $(COMPILE.s) -o $@ $<
 100                 $(POST_PROCESS_S_O)
 101 
 102 pics/%.o objs/%.o: ../%.c
 103                 $(COMPILE.c) -o $@ $<
 104                 $(POST_PROCESS_O)
 105 
 106 pics/%.o objs/%.o:      $(UFSDIR)/%.c
 107                 $(COMPILE.c) -o $@ $<
 108                 $(POST_PROCESS_O)
 109 
 110 include ../../Makefile.targ