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 32 MODCLASS = maps 33 34 include ../../../Makefile.lib 35 include ../../../../Makefile.lib 36 37 DTDSRC = $(DTDFILE:%=../common/%) 38 DTDTARG = $(DTDFILE:%=%) 39 ROOTDTDTARG = $(DTDTARG:%=$(ROOT)/usr/share/lib/xml/dtd/%) 40 41 common_ROOTTOPOROOT = $(ROOT)/usr/lib/fm/topo/$(MODCLASS) 42 arch_ROOTTOPOROOT = $(ROOT)/usr/platform/$(ARCH)/lib/fm/topo/$(MODCLASS) 43 platform_ROOTTOPOROOT = \ 44 $(PLATFORMS:%=$(ROOT)/usr/platform/%/lib/fm/topo/$(MODCLASS)) 45 ROOTTOPOROOT = $($(CLASS)_ROOTTOPOROOT) 46 ROOTTOPOMAPS = $(TOPOFILE:%=$(ROOTTOPOROOT)/%) 47 48 install:= 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 62 include ../../Makefile.rootdirs 63 64 all: $(TOPOFILE) 65 66 clean: 67 $(RM) $(ROOTTOPOMAPS) 68 $(RM) $(TEMPTOPOFILE) 69 70 clobber: clean 71 72 check: $(CHECKHDRS) 73 74 install_h _msg: 75 76 lint: $(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 89 install: all $(ROOTDTDTARG) $(ROOTTOPOROOT) $(ROOTTOPOMAPS)