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