xref: /titanic_44/usr/src/cmd/fm/fmd/Makefile.fmd (revision 162ba6eabdbf6535d914d76133fa5760fb1b231c)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
57c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
67c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
77c478bd9Sstevel@tonic-gate# with the License.
87c478bd9Sstevel@tonic-gate#
97c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate# and limitations under the License.
137c478bd9Sstevel@tonic-gate#
147c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate#
207c478bd9Sstevel@tonic-gate# CDDL HEADER END
217c478bd9Sstevel@tonic-gate#
227c478bd9Sstevel@tonic-gate#
237aec1d6eScindi# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
257c478bd9Sstevel@tonic-gate#
267c478bd9Sstevel@tonic-gate# ident	"%Z%%M%	%I%	%E% SMI"
277c478bd9Sstevel@tonic-gate#
287c478bd9Sstevel@tonic-gate
297c478bd9Sstevel@tonic-gate.KEEP_STATE:
307c478bd9Sstevel@tonic-gate
317c478bd9Sstevel@tonic-gateSRCS += fmd.c \
327c478bd9Sstevel@tonic-gate	fmd_api.c \
337c478bd9Sstevel@tonic-gate	fmd_alloc.c \
347c478bd9Sstevel@tonic-gate	fmd_asru.c \
357c478bd9Sstevel@tonic-gate	fmd_buf.c \
367c478bd9Sstevel@tonic-gate	fmd_builtin.c \
377c478bd9Sstevel@tonic-gate	fmd_case.c \
387c478bd9Sstevel@tonic-gate	fmd_ckpt.c \
397c478bd9Sstevel@tonic-gate	fmd_conf.c \
407c478bd9Sstevel@tonic-gate	fmd_ctl.c \
417c478bd9Sstevel@tonic-gate	fmd_dispq.c \
427c478bd9Sstevel@tonic-gate	fmd_dr.c \
437c478bd9Sstevel@tonic-gate	fmd_error.c \
447c478bd9Sstevel@tonic-gate	fmd_event.c \
457c478bd9Sstevel@tonic-gate	fmd_eventq.c \
467c478bd9Sstevel@tonic-gate	fmd_fmri.c \
477c478bd9Sstevel@tonic-gate	fmd_idspace.c \
487c478bd9Sstevel@tonic-gate	fmd_list.c \
497c478bd9Sstevel@tonic-gate	fmd_log.c \
507c478bd9Sstevel@tonic-gate	fmd_main.c \
517c478bd9Sstevel@tonic-gate	fmd_module.c \
527c478bd9Sstevel@tonic-gate	fmd_nv.c \
537c478bd9Sstevel@tonic-gate	fmd_proc.c \
547c478bd9Sstevel@tonic-gate	fmd_protocol.c \
557c478bd9Sstevel@tonic-gate	fmd_rpc.c \
567c478bd9Sstevel@tonic-gate	fmd_rpc_adm.c \
577c478bd9Sstevel@tonic-gate	fmd_rpc_api.c \
587c478bd9Sstevel@tonic-gate	fmd_rtld.c \
597c478bd9Sstevel@tonic-gate	fmd_scheme.c \
607c478bd9Sstevel@tonic-gate	fmd_self.c \
617c478bd9Sstevel@tonic-gate	fmd_serd.c \
627c478bd9Sstevel@tonic-gate	fmd_string.c \
637c478bd9Sstevel@tonic-gate	fmd_subr.c \
647c478bd9Sstevel@tonic-gate	fmd_svc_adm.c \
657c478bd9Sstevel@tonic-gate	fmd_svc_api.c \
66d9638e54Smws	fmd_sysevent.c \
677c478bd9Sstevel@tonic-gate	fmd_thread.c \
687c478bd9Sstevel@tonic-gate	fmd_time.c \
697c478bd9Sstevel@tonic-gate	fmd_timerq.c \
707c478bd9Sstevel@tonic-gate	fmd_trace.c \
717c478bd9Sstevel@tonic-gate	fmd_ustat.c \
727c478bd9Sstevel@tonic-gate	fmd_xdr_adm.c \
73d9638e54Smws	fmd_xdr_api.c \
74d9638e54Smws	fmd_xprt.c
757c478bd9Sstevel@tonic-gate
767c478bd9Sstevel@tonic-gatePROG = fmd
777c478bd9Sstevel@tonic-gateMANIFEST = ../common/$(PROG).xml
787c478bd9Sstevel@tonic-gate
797c478bd9Sstevel@tonic-gateROOTPDIR = $(ROOT)/usr/lib/fm/$(PROG)
807c478bd9Sstevel@tonic-gateROOTVDIR = $(ROOT)/var/fm/$(PROG)
81d9638e54SmwsROOTVSUB = $(ROOTVDIR)/ckpt $(ROOTVDIR)/rsrc $(ROOTVDIR)/xprt
827c478bd9Sstevel@tonic-gateROOTPROG = $(ROOTPDIR)/$(PROG)
837c478bd9Sstevel@tonic-gate
847c478bd9Sstevel@tonic-gateROOTMANIFESTDIR = $(ROOTSVCSYSTEM)
857c478bd9Sstevel@tonic-gateROOTMANIFEST = $(ROOTMANIFESTDIR)/$(PROG).xml
867c478bd9Sstevel@tonic-gate
877c478bd9Sstevel@tonic-gateOBJS = $(SRCS:%.c=%.o)
887c478bd9Sstevel@tonic-gateLINTFILES = $(SRCS:%.c=%.ln)
897c478bd9Sstevel@tonic-gate
907c478bd9Sstevel@tonic-gateCLEANFILES += ../common/fmd_rpc_api.h ../common/fmd_rpc_adm.h
917c478bd9Sstevel@tonic-gateCLEANFILES += fmd_svc_adm.c fmd_svc_api.c fmd_xdr_adm.c fmd_xdr_api.c
927c478bd9Sstevel@tonic-gateCLEANFILES += ../common/fmd_error.c
937c478bd9Sstevel@tonic-gate
947c478bd9Sstevel@tonic-gateDMOD = fmd.so
957c478bd9Sstevel@tonic-gateROOTDMOD = $(ROOT)/usr/lib/mdb/proc/$(DMOD)
967c478bd9Sstevel@tonic-gateDMOD_SRCS = fmd_mdb.c
977c478bd9Sstevel@tonic-gateDMOD_OBJS = $(DMOD_SRCS:%.c=%.o)
987c478bd9Sstevel@tonic-gateDMOD_LINT = $(DMOD_SRCS:%.c=%.ln)
997c478bd9Sstevel@tonic-gate
1007c478bd9Sstevel@tonic-gateHDRS = fmd_api.h fmd_fmri.h
1017c478bd9Sstevel@tonic-gateROOTCDIR = $(ROOT)/etc/fm/$(PROG)
1027c478bd9Sstevel@tonic-gateROOTHDIR = $(ROOT)/usr/include/fm
1037c478bd9Sstevel@tonic-gateROOTHDRS = $(HDRS:%=$(ROOTHDIR)/%)
1047c478bd9Sstevel@tonic-gate
1057c478bd9Sstevel@tonic-gate$(ROOTHDRS) := FILEMODE = 0644
1067c478bd9Sstevel@tonic-gate$(ROOTVSUB) := DIRMODE = 0700
1077c478bd9Sstevel@tonic-gate$(ROOTMANIFEST) := FILEMODE = 0444
1087c478bd9Sstevel@tonic-gate
1097c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
1107c478bd9Sstevel@tonic-gateCPPFLAGS += -I. -I../common
1117c478bd9Sstevel@tonic-gateCPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT
1127c478bd9Sstevel@tonic-gateCFLAGS += $(CTF_FLAGS) $(CCVERBOSE) $(XSTRCONST)
1137c478bd9Sstevel@tonic-gateLINTFLAGS += -mu
1147c478bd9Sstevel@tonic-gateLDFLAGS += -R/usr/lib/fm
1157aec1d6eScindiLDLIBS += -L$(ROOTLIB)/fm -ltopo -ldiagcode -lsysevent -lsmbios -luuid -lnvpair
1167c478bd9Sstevel@tonic-gateLDLIBS += -lexacct -lnsl -lrt -lumem
1177c478bd9Sstevel@tonic-gate
1187c478bd9Sstevel@tonic-gate$(DMOD) := CFLAGS += $(CC_PICFLAGS) -G $(XREGSFLAG)
1197c478bd9Sstevel@tonic-gate$(DMOD) := LDFLAGS += $(ZTEXT) -z combreloc
1207c478bd9Sstevel@tonic-gate
1217c478bd9Sstevel@tonic-gate#
1227c478bd9Sstevel@tonic-gate# rpcgen(1) produces code that wants to be in the foreground if we're compiled
1237c478bd9Sstevel@tonic-gate# DEBUG, which isn't appropriate for our daemon.  Forcibly undefine this code.
1247c478bd9Sstevel@tonic-gate# It also produces various lint warnings; turn these off for these files only.
1257c478bd9Sstevel@tonic-gate# Unfortunately we also have to turn off IGNOR2 for pass2 lint as well.
1267c478bd9Sstevel@tonic-gate#
1277c478bd9Sstevel@tonic-gatefmd_svc_adm.o fmd_svc_api.o := CPPFLAGS += -UDEBUG -URPC_SVC_FG
1287c478bd9Sstevel@tonic-gatefmd_xdr_adm.o fmd_xdr_api.o := CPPFLAGS += -UDEBUG -URPC_SVC_FG
1297c478bd9Sstevel@tonic-gate
1307c478bd9Sstevel@tonic-gatefmd_svc_adm.ln fmd_svc_api.ln fmd_xdr_adm.ln fmd_xdr_api.ln := LINTFLAGS += \
1317c478bd9Sstevel@tonic-gate  -xerroff=E_FUNC_ARG_UNUSED -xerroff=E_FUNC_VAR_UNUSED -xerroff=E_STATIC_UNUSED
1327c478bd9Sstevel@tonic-gate
1337c478bd9Sstevel@tonic-gatelint_prog := LINTFLAGS += -xerroff=E_FUNC_RET_ALWAYS_IGNOR2
1347c478bd9Sstevel@tonic-gate
1357c478bd9Sstevel@tonic-gate.NO_PARALLEL:
1367c478bd9Sstevel@tonic-gate.PARALLEL: $(OBJS) $(LINTFILES)
1377c478bd9Sstevel@tonic-gate
1387c478bd9Sstevel@tonic-gateall: $(PROG) $(DMOD) install_h
1397c478bd9Sstevel@tonic-gate
1407c478bd9Sstevel@tonic-gate$(PROG): $(OBJS)
1417c478bd9Sstevel@tonic-gate	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
1427c478bd9Sstevel@tonic-gate	$(CTFMERGE) -L VERSION -o $@ $(OBJS)
1437c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1447c478bd9Sstevel@tonic-gate
1457c478bd9Sstevel@tonic-gate$(DMOD): $(DMOD_OBJS)
1467c478bd9Sstevel@tonic-gate	$(LINK.c) $(DMOD_OBJS) -o $@
1477c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1487c478bd9Sstevel@tonic-gate
1497c478bd9Sstevel@tonic-gate%.o: ../common/%.c
1507c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
1517c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1527c478bd9Sstevel@tonic-gate
1537c478bd9Sstevel@tonic-gate%.o: %.c
1547c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
1557c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
1567c478bd9Sstevel@tonic-gate
1577c478bd9Sstevel@tonic-gate../common/fmd_error.c: ../common/mkerror.sh ../common/fmd_error.h
1587c478bd9Sstevel@tonic-gate	sh ../common/mkerror.sh < ../common/fmd_error.h > $@
1597c478bd9Sstevel@tonic-gate
1607c478bd9Sstevel@tonic-gate../common/fmd_rpc_%.c: ../common/fmd_rpc_%.h
1617c478bd9Sstevel@tonic-gate
1627c478bd9Sstevel@tonic-gate../common/fmd_rpc.c: ../common/fmd_rpc_adm.h ../common/fmd_rpc_api.h
1637c478bd9Sstevel@tonic-gate
1647c478bd9Sstevel@tonic-gate../common/fmd_rpc_%.h: ../common/fmd_rpc_%.x
1657c478bd9Sstevel@tonic-gate	$(RPCGEN) -CMN -h -o $@ $<
1667c478bd9Sstevel@tonic-gate
1677c478bd9Sstevel@tonic-gatefmd_svc_%.c: ../common/fmd_rpc_%.h
1687c478bd9Sstevel@tonic-gate	$(RPCGEN) -CMN -m -o $@ `echo $< | sed 's/h$$/x/'`
1697c478bd9Sstevel@tonic-gate
1707c478bd9Sstevel@tonic-gatefmd_xdr_%.c: ../common/fmd_rpc_%.h
1717c478bd9Sstevel@tonic-gate	$(RPCGEN) -CMN -c -o $@ `echo $< | sed 's/h$$/x/'`
1727c478bd9Sstevel@tonic-gate
1737c478bd9Sstevel@tonic-gateclean:
1747c478bd9Sstevel@tonic-gate	$(RM) $(OBJS) $(DMOD_OBJS) $(LINTFILES) $(DMOD_LINT)
1757c478bd9Sstevel@tonic-gate	$(RM) $(CLEANFILES)
1767c478bd9Sstevel@tonic-gate
1777c478bd9Sstevel@tonic-gateclobber: clean
1787c478bd9Sstevel@tonic-gate	$(RM) $(PROG) $(DMOD)
1797c478bd9Sstevel@tonic-gate
1807c478bd9Sstevel@tonic-gate%.ln: ../common/%.c
1817c478bd9Sstevel@tonic-gate	$(LINT.c) -c $<
1827c478bd9Sstevel@tonic-gate
1837c478bd9Sstevel@tonic-gate%.ln: %.c
1847c478bd9Sstevel@tonic-gate	$(LINT.c) -c $<
1857c478bd9Sstevel@tonic-gate
1867c478bd9Sstevel@tonic-gatelint_prog: $(LINTFILES)
1877c478bd9Sstevel@tonic-gate	$(LINT) $(LINTFLAGS) $(LINTFILES) $(LDLIBS)
1887c478bd9Sstevel@tonic-gate
1897c478bd9Sstevel@tonic-gatelint_dmod: $(DMOD_LINT)
1907c478bd9Sstevel@tonic-gate	$(LINT) $(LINTFLAGS) $(DMOD_LINT) $(LDLIBS)
1917c478bd9Sstevel@tonic-gate
1927c478bd9Sstevel@tonic-gatelint: lint_prog lint_dmod
1937c478bd9Sstevel@tonic-gate
1947c478bd9Sstevel@tonic-gate$(ROOT)/etc/fm:
1957c478bd9Sstevel@tonic-gate	$(INS.dir)
1967c478bd9Sstevel@tonic-gate
1977c478bd9Sstevel@tonic-gate$(ROOTCDIR): $(ROOT)/etc/fm
1987c478bd9Sstevel@tonic-gate	$(INS.dir)
1997c478bd9Sstevel@tonic-gate
2007c478bd9Sstevel@tonic-gate$(ROOTHDIR):
2017c478bd9Sstevel@tonic-gate	$(INS.dir)
2027c478bd9Sstevel@tonic-gate
2037c478bd9Sstevel@tonic-gate$(ROOTHDIR)/%.h: ../common/%.h
2047c478bd9Sstevel@tonic-gate	$(INS.file)
2057c478bd9Sstevel@tonic-gate
2067c478bd9Sstevel@tonic-gate$(ROOTMANIFESTDIR)/%.xml: ../common/%.xml
2077c478bd9Sstevel@tonic-gate	$(INS.file)
2087c478bd9Sstevel@tonic-gate
2097c478bd9Sstevel@tonic-gate$(ROOT)/var/%:
2107c478bd9Sstevel@tonic-gate	$(INS.dir)
2117c478bd9Sstevel@tonic-gate
2127c478bd9Sstevel@tonic-gate$(ROOTVDIR): $(ROOT)/var/fm
2137c478bd9Sstevel@tonic-gate	$(INS.dir)
2147c478bd9Sstevel@tonic-gate
2157c478bd9Sstevel@tonic-gate$(ROOTVSUB): $(ROOTVDIR)
2167c478bd9Sstevel@tonic-gate	$(INS.dir)
2177c478bd9Sstevel@tonic-gate
218*162ba6eaSmws$(ROOT)/usr/lib/fm:
2197c478bd9Sstevel@tonic-gate	$(INS.dir)
2207c478bd9Sstevel@tonic-gate
2217c478bd9Sstevel@tonic-gate$(ROOTPDIR): $(ROOT)/usr/lib/fm
2227c478bd9Sstevel@tonic-gate	$(INS.dir)
2237c478bd9Sstevel@tonic-gate
2247c478bd9Sstevel@tonic-gate$(ROOTPROG): $(ROOTPDIR) $(PROG)
2257c478bd9Sstevel@tonic-gate	$(RM) $@; $(INS) -s -m 0555 -f $(@D) $(PROG)
2267c478bd9Sstevel@tonic-gate
2277c478bd9Sstevel@tonic-gate$(ROOT)/usr/lib/mdb/proc: $(ROOT)/usr/lib/mdb
2287c478bd9Sstevel@tonic-gate	$(INS.dir)
2297c478bd9Sstevel@tonic-gate
2307c478bd9Sstevel@tonic-gate$(ROOTDMOD): $(ROOT)/usr/lib/mdb/proc $(DMOD)
2317c478bd9Sstevel@tonic-gate	$(RM) $@; $(INS) -s -m 0555 -f $(@D) $(DMOD)
2327c478bd9Sstevel@tonic-gate
2337c478bd9Sstevel@tonic-gateinstall_h: $(ROOTHDIR) $(ROOTHDRS)
2347c478bd9Sstevel@tonic-gate
2357c478bd9Sstevel@tonic-gateinstall: all install_h $(ROOTPROG) $(ROOTDMOD) \
2367c478bd9Sstevel@tonic-gate	$(ROOTCDIR) $(ROOTVDIR) $(ROOTVSUB) $(ROOTMANIFEST)
2377c478bd9Sstevel@tonic-gate
2387c478bd9Sstevel@tonic-gatecheck: $(CHKMANIFEST)
239