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, Version 1.0 only
   6 # (the "License").  You may not use this file except in compliance
   7 # with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 
  27 .KEEP_STATE:
  28 .SUFFIXES:
  29 
  30 SRCS += \
  31         inj_cmds.c \
  32         inj_decl.c \
  33         inj_defn.c \
  34         inj_err.c \
  35         inj_hash.c \
  36         inj_list.c \
  37         inj_log.c \
  38         inj_main.c \
  39         inj_string.c \
  40         inj_umem.c \
  41         inj_util.c
  42 
  43 PROG = fminject
  44 ROOTPDIR = $(ROOT)/usr/lib/fm/fmd
  45 ROOTPROG = $(ROOTPDIR)/$(PROG)
  46 OBJS = $(SRCS:%.c=%.o) inj_grammar.o inj_lex.o
  47 LINTFILES = $(SRCS:%.c=%.ln)
  48 CLEANFILES += inj_grammar.c inj_grammar.h inj_lex.c y.tab.h y.tab.c
  49 
  50 CPPFLAGS += -I. -I../common
  51 CFLAGS += $(CCVERBOSE) $(CTF_FLAGS)
  52 CERRWARN += -_gcc=-Wno-switch
  53 CERRWARN += -_gcc=-Wno-uninitialized
  54 CERRWARN += -_gcc=-Wno-type-limits
  55 CERRWARN += -_gcc=-Wno-unused-label
  56 CERRWARN += -_gcc=-Wno-unused-variable
  57 LDLIBS += -L$(ROOT)/usr/lib/fm -lfmd_log -lsysevent -lnvpair -lumem
  58 LDFLAGS += -R/usr/lib/fm
  59 LINTFLAGS = -mnux
  60 STRIPFLAG =
  61 
  62 LFLAGS = -t -v
  63 YFLAGS = -d
  64 
  65 .PARALLEL: $(OBJS) $(LINTFILES)
  66 
  67 all: $(PROG)
  68 
  69 $(PROG): $(OBJS)
  70         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  71         $(CTFMERGE) -L VERSION -o $@ $(OBJS)
  72         $(POST_PROCESS)
  73 
  74 inj_lex.c: ../common/inj_lex.l inj_grammar.c
  75         $(LEX) $(LFLAGS) ../common/inj_lex.l > $@
  76 
  77 inj_grammar.c: ../common/inj_grammar.y
  78         $(YACC) $(YFLAGS) ../common/inj_grammar.y
  79         $(MV) y.tab.c inj_grammar.c
  80         $(MV) y.tab.h inj_grammar.h
  81 
  82 %.o: %.c
  83         $(COMPILE.c) $<
  84         $(CTFCONVERT_O)
  85 
  86 %.o: ../common/%.c
  87         $(COMPILE.c) $<
  88         $(CTFCONVERT_O)
  89 
  90 clean:
  91         $(RM) $(OBJS) $(LINTFILES) $(CLEANFILES)
  92 
  93 clobber: clean
  94         $(RM) $(PROG)
  95 
  96 %.ln: %.c
  97         $(LINT.c) -c $<
  98 
  99 %.ln: ../common/%.c
 100         $(LINT.c) -c $<
 101 
 102 lint: $(LINTFILES)
 103         $(LINT.c) $(LINTFILES) $(LDLIBS)
 104 
 105 $(ROOT)/usr/lib/fm:
 106         $(INS.dir)
 107 
 108 $(ROOTPDIR): $(ROOT)/usr/lib/fm
 109         $(INS.dir)
 110 
 111 $(ROOTPDIR)/%: %
 112         $(INS.file)
 113 
 114 install_h:
 115 
 116 install: all $(ROOTPDIR) $(ROOTPROG)