xref: /illumos-gate/usr/src/lib/fm/topo/maps/Makefile.map (revision b6805bf78d2bbbeeaea8909a05623587b42d58b3)
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
27.KEEP_STATE:
28.SUFFIXES:
29.SUFFIXES: .xml .xmlgen $(SUFFIXES)
30
31MODCLASS = maps
32
33include ../../../Makefile.lib
34include ../../../../Makefile.lib
35
36DTDSRC = $(DTDFILE:%=../common/%)
37DTDTARG = $(DTDFILE:%=%)
38ROOTDTDTARG = $(DTDTARG:%=$(ROOT)/usr/share/lib/xml/dtd/%)
39
40common_ROOTTOPOROOT = $(ROOT)/usr/lib/fm/topo/$(MODCLASS)
41arch_ROOTTOPOROOT = $(ROOT)/usr/platform/$(ARCH)/lib/fm/topo/$(MODCLASS)
42platform_ROOTTOPOROOT = \
43	$(PLATFORMS:%=$(ROOT)/usr/platform/%/lib/fm/topo/$(MODCLASS))
44ROOTTOPOROOT = $($(CLASS)_ROOTTOPOROOT)
45ROOTTOPOMAPS = $(TOPOFILE:%=$(ROOTTOPOROOT)/%)
46
47install:= FILEMODE =	0444
48
49# The .xmlgen perl file automatically generates a new xml file.  This is done
50# to avoid having to deal with things like 48 platform specific internal
51# storage bays by hand.
52.xmlgen.xml:
53	$(RM) $@
54	$(CAT) ../common/xmlgen-header.xml > $@
55	$(PERL) $< >> $@
56
57%.xml: ../common/%.xml
58	$(RM) $@
59	$(CAT) $< > $@
60
61include ../../Makefile.rootdirs
62
63all: $(TOPOFILE)
64
65clean:
66	$(RM) $(ROOTTOPOMAPS)
67	$(RM) $(TEMPTOPOFILE)
68
69clobber: clean
70	$(RM) $(CLOBBERFILES)
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