xref: /illumos-gate/usr/src/lib/fm/topo/maps/Makefile.map (revision 0a1278f26ea4b7c8c0285d4f2d6c5b680904aa01)
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# Copyright (c) 2013, Joyent, Inc. All rights reserved.
26#
27
28.KEEP_STATE:
29.SUFFIXES:
30.SUFFIXES: .xml .xmlgen .xmlgenksh $(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.xmlgenksh.xml:
59	$(RM) $@
60	$(CAT) ../common/xmlgen-header-new.xml > $@
61	$(KSH93) $< >> $@
62
63%.xml: ../common/%.xml
64	$(RM) $@
65	$(CAT) $< > $@
66
67include ../../Makefile.rootdirs
68
69all: $(TOPOFILE)
70
71clean:
72	$(RM) $(ROOTTOPOMAPS)
73	$(RM) $(TEMPTOPOFILE)
74
75clobber: clean
76	$(RM) $(CLOBBERFILES)
77
78check: $(CHECKHDRS)
79
80install_h _msg:
81
82lint: $(TOPOFILE:%=%.chk)
83
84%.xml.chk: %.xml
85	@echo xmllint $<
86	@xmllint --dropdtd $< | \
87	xmllint --noout --dtdvalid  $(DTDSRC) -
88
89$($(CLASS)_ROOTTOPOROOT)/%: %
90	$(INS.file)
91
92$(ROOTDTDTARG): $$(@D)
93	$(RM) $@; $(INS) -s -m 0444 -f $(@D) $(DTDSRC)
94
95install: all $(ROOTDTDTARG) $(ROOTTOPOROOT) $(ROOTTOPOMAPS)
96