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 30SRCS += \ 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 43PROG = fminject 44ROOTPDIR = $(ROOT)/usr/lib/fm/fmd 45ROOTPROG = $(ROOTPDIR)/$(PROG) 46OBJS = $(SRCS:%.c=%.o) inj_grammar.o inj_lex.o 47LINTFILES = $(SRCS:%.c=%.ln) 48CLEANFILES += inj_grammar.c inj_grammar.h inj_lex.c y.tab.h y.tab.c 49 50CPPFLAGS += -I. -I../common 51CFLAGS += $(CCVERBOSE) $(CTF_FLAGS) 52CERRWARN += -_gcc=-Wno-switch 53CERRWARN += $(CNOWARN_UNINIT) 54CERRWARN += -_gcc=-Wno-type-limits 55CERRWARN += -_gcc=-Wno-unused-label 56CERRWARN += -_gcc=-Wno-unused-variable 57LDLIBS += -L$(ROOT)/usr/lib/fm -lfmd_log -lsysevent -lnvpair -lumem 58LDFLAGS += -R/usr/lib/fm 59LINTFLAGS = -mnux 60STRIPFLAG = 61 62LFLAGS = -t -v 63YFLAGS = -d 64 65.PARALLEL: $(OBJS) $(LINTFILES) 66 67all: $(PROG) 68 69$(PROG): $(OBJS) 70 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 71 $(CTFMERGE) -L VERSION -o $@ $(OBJS) 72 $(POST_PROCESS) 73 74inj_lex.c: ../common/inj_lex.l inj_grammar.c 75 $(LEX) $(LFLAGS) ../common/inj_lex.l > $@ 76 77inj_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 90clean: 91 $(RM) $(OBJS) $(LINTFILES) $(CLEANFILES) 92 93clobber: clean 94 $(RM) $(PROG) 95 96%.ln: %.c 97 $(LINT.c) -c $< 98 99%.ln: ../common/%.c 100 $(LINT.c) -c $< 101 102lint: $(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 114install_h: 115 116install: all $(ROOTPDIR) $(ROOTPROG) 117