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)