xref: /illumos-gate/usr/src/lib/fm/topo/maps/Makefile.map (revision 581cede61ac9c14d8d4ea452562a567189eead78)
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#
23# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27
28.KEEP_STATE:
29.SUFFIXES:
30.SUFFIXES: .xml .xmlgen $(SUFFIXES)
31
32MODCLASS = maps
33
34include ../../../Makefile.lib
35include ../../../../Makefile.lib
36
37DTDSRC = $(DTDFILE:%=../common/%)
38DTDTARG = $(DTDFILE:%=%)
39ROOTDTDTARG = $(DTDTARG:%=$(ROOT)/usr/share/lib/xml/dtd/%)
40
41common_ROOTTOPOROOT = $(ROOT)/usr/lib/fm/topo/$(MODCLASS)
42arch_ROOTTOPOROOT = $(ROOT)/usr/platform/$(ARCH)/lib/fm/topo/$(MODCLASS)
43platform_ROOTTOPOROOT = \
44	$(PLATFORMS:%=$(ROOT)/usr/platform/%/lib/fm/topo/$(MODCLASS))
45ROOTTOPOROOT = $($(CLASS)_ROOTTOPOROOT)
46ROOTTOPOMAPS = $(TOPOFILE:%=$(ROOTTOPOROOT)/%)
47
48install:= FILEMODE =	0444
49
50# The .xmlgen perl file automatically generates a new xml file.  This is done
51# to avoid having to deal with things like 48 platform specific internal
52# storage bays by hand.
53.xmlgen.xml:
54	$(RM) $@
55	$(CAT) ../common/xmlgen-header.xml > $@
56	$(PERL) $< >> $@
57
58%.xml: ../common/%.xml
59	$(RM) $@
60	$(CAT) $< > $@
61
62include ../../Makefile.rootdirs
63
64all: $(TOPOFILE)
65
66clean:
67	$(RM) $(ROOTTOPOMAPS)
68	$(RM) $(TEMPTOPOFILE)
69
70clobber: clean
71
72check: $(CHECKHDRS)
73
74install_h _msg:
75
76lint: $(TOPOFILE:%=%.chk)
77
78%.xml.chk: %.xml
79	@echo xmllint $<
80	@xmllint --dropdtd $< | \
81	xmllint --noout --dtdvalid  $(DTDSRC) -
82
83$($(CLASS)_ROOTTOPOROOT)/%: %
84	$(INS.file)
85
86$(ROOTDTDTARG): $$(@D)
87	$(RM) $@; $(INS) -s -m 0444 -f $(@D) $(DTDSRC)
88
89install: all $(ROOTDTDTARG) $(ROOTTOPOROOT) $(ROOTTOPOMAPS)
90