1rule Man2Doc 2{ 3 local source = [ FGristFiles $(2) ] ; 4 local binary = $(1) ; 5 6 SEARCH on $(source) = $(SEARCH_SOURCE) ; 7 8 MakeLocate $(binary) 9 : [ FDirName $(HAIKU_DOCUMENTATION_OBJECT_DIR) Shell_Tools ] ; 10 11 Depends $(binary) : $(source) rman ; 12 13 LocalDepends doc_files : $(binary) ; 14 Man2Doc1 $(binary) : rman $(source) ; 15 LocalClean clean : $(binary) ; 16} 17 18actions Man2Doc1 19{ 20 $(2[1]) -f XML "$(2[2])" > "$(1)" ; 21} 22 23rule Man2Docs 24{ 25 # Man2Docs <sources> ; 26 local source ; 27 for source in [ FGristFiles $(1) ] 28 { 29 local target = $(source:S=.xml) ; 30 31 Man2Doc $(target) : $(source) ; 32 } 33} 34 35rule Doc2HTML 36{ 37 local source = [ FGristFiles $(1) ] ; 38 local target = [ FGristFiles $(2) ] ; 39 local xslsheet = $(3) ; 40 local basedir = [ FDirName $(HAIKU_DOCUMENTATION_DIR) $(4) ] ; 41 local paths = $(5) ; 42 local options = $(6) ; 43 44 if ! $(target) { 45 target = $(1:S=.html) ; 46 } 47 48 SEARCH on $(source) = $(SEARCH_SOURCE) ; 49 50 MakeLocate $(target) : $(basedir) ; 51 if $(2) { 52 XSLBASEDIR on $(target) = -stringparam base.dir \"$(basedir)/\" ; 53 } 54 XSLSHEET on $(target) = $(xslsheet) ; 55 XSLOPTIONS on $(target) = $(options) ; 56 if $(2) = "" { 57 XSLOUTPUT on $(target) = "-o "\"$(target:D=$(basedir))\" ; 58 } 59 60 XSLCATALOGS on $(target) = \" [ FDirName $(HAIKU_TOP) src documentation docbook-dtd catalog.xml ] [ FDirName $(HAIKU_TOP) src documentation docbook-xsl catalog.xml ] \" ; 61 62 Depends $(target) : $(source) <build>xsltproc ; 63 LocalDepends doc_files : $(target) ; 64 XSLPROCPATHS on $(target) = -path \" $(paths:J=\ ) \" ; 65 Doc2HTML1 $(target) : <build>xsltproc $(source) ; 66 LocalClean clean : $(target) ; 67} 68 69actions Doc2HTML1 70{ 71 $(2[1]) --catalogs $(XSLCATALOGS) -xinclude $(XSLPROCPATHS) $(XSLBASEDIR) $(XSLOPTIONS) $(XSLOUTPUT) $(XSLSHEET) $(2[2-]) 72} 73