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