1 BOOKS := wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml \
2 kernel-api.sgml parportbook.sgml kernel-hacking.sgml \
3 kernel-locking.sgml via-audio.sgml mousedrivers.sgml sis900.sgml \
4 deviceiobook.sgml procfs-guide.sgml tulip-user.sgml \
5 journal-api.sgml libata.sgml
7 PS := $(patsubst %.sgml, %.ps, $(BOOKS))
8 PDF := $(patsubst %.sgml, %.pdf, $(BOOKS))
9 HTML := $(patsubst %.sgml, %, $(BOOKS))
10 IMG-parportbook := parport-share.fig parport-multi.fig parport-structure.fig
11 EPS-parportbook := $(patsubst %.fig, %.eps, $(IMG-parportbook))
12 PNG-parportbook := $(patsubst %.fig, %.png, $(IMG-parportbook))
13 C-procfs-example = procfs_example.sgml
17 $(BOOKS): $(TOPDIR)/scripts/docproc
19 .PHONY: books ps pdf html clean mrproper
36 echo "<programlisting>" > $@
37 expand --tabs=8 < $< | \
38 sed -e "s/&/\\&/g" \
40 -e "s/>/\\>/g" >> $@
41 echo "</programlisting>" >> $@
44 $(TOPDIR)/scripts/docproc:
45 $(MAKE) -C $(TOPDIR)/scripts docproc
47 mousedrivers.sgml: mousedrivers.tmpl
48 $(TOPDIR)/scripts/docgen <$< >$@
50 kernel-hacking.sgml: kernel-hacking.tmpl
51 $(TOPDIR)/scripts/docgen <$< >$@
53 kernel-locking.sgml: kernel-locking.tmpl
54 $(TOPDIR)/scripts/docgen <$< >$@
56 wanbook.sgml: wanbook.tmpl $(TOPDIR)/drivers/net/wan/syncppp.c
57 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/net/wan/syncppp.c \
58 <wanbook.tmpl >wanbook.sgml
60 z8530book.sgml: z8530book.tmpl $(TOPDIR)/drivers/net/wan/z85230.c
61 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/net/wan/z85230.c \
62 <z8530book.tmpl >z8530book.sgml
64 via-audio.sgml: via-audio.tmpl $(TOPDIR)/drivers/sound/via82cxxx_audio.c
65 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/sound/via82cxxx_audio.c \
66 <via-audio.tmpl >via-audio.sgml
68 tulip-user.sgml: tulip-user.tmpl
69 $(TOPDIR)/scripts/docgen <$< >$@
71 sis900.sgml: sis900.tmpl $(TOPDIR)/drivers/net/sis900.c
72 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/net/sis900.c \
73 <sis900.tmpl >sis900.sgml
75 deviceiobook.sgml: deviceiobook.tmpl
76 $(TOPDIR)/scripts/docgen <deviceiobook.tmpl >deviceiobook.sgml
78 mcabook.sgml: mcabook.tmpl $(TOPDIR)/arch/i386/kernel/mca.c
79 $(TOPDIR)/scripts/docgen $(TOPDIR)/arch/i386/kernel/mca.c \
80 <mcabook.tmpl >mcabook.sgml
82 libata.sgml: libata.tmpl $(TOPDIR)/drivers/scsi/libata-core.c \
83 $(TOPDIR)/drivers/scsi/libata-scsi.c \
84 $(TOPDIR)/drivers/scsi/sata_sil.c \
85 $(TOPDIR)/drivers/scsi/sata_via.c
86 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/scsi/libata-core.c \
87 $(TOPDIR)/drivers/scsi/libata-scsi.c \
88 $(TOPDIR)/drivers/scsi/sata_sil.c \
89 $(TOPDIR)/drivers/scsi/sata_via.c \
90 < libata.tmpl > libata.sgml
92 videobook.sgml: videobook.tmpl $(TOPDIR)/drivers/media/video/videodev.c
93 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/media/video/videodev.c \
94 <videobook.tmpl >videobook.sgml
96 procfs-guide.sgml: procfs-guide.tmpl procfs_example.sgml
97 $(TOPDIR)/scripts/docgen < procfs-guide.tmpl >$@
99 APISOURCES := $(TOPDIR)/drivers/media/video/videodev.c \
100 $(TOPDIR)/arch/i386/kernel/irq.c \
101 $(TOPDIR)/arch/i386/kernel/mca.c \
102 $(TOPDIR)/arch/i386/kernel/mtrr.c \
103 $(TOPDIR)/drivers/char/misc.c \
104 $(TOPDIR)/kernel/printk.c \
105 $(TOPDIR)/drivers/net/net_init.c \
106 $(TOPDIR)/drivers/net/8390.c \
107 $(TOPDIR)/drivers/char/serial.c \
108 $(TOPDIR)/drivers/pci/pci.c \
109 $(TOPDIR)/drivers/hotplug/pci_hotplug_core.c \
110 $(TOPDIR)/drivers/hotplug/pci_hotplug_util.c \
111 $(TOPDIR)/drivers/block/ll_rw_blk.c \
112 $(TOPDIR)/drivers/sound/sound_core.c \
113 $(TOPDIR)/drivers/sound/sound_firmware.c \
114 $(TOPDIR)/drivers/net/wan/syncppp.c \
115 $(TOPDIR)/drivers/net/wan/z85230.c \
116 $(TOPDIR)/drivers/usb/usb.c \
117 $(TOPDIR)/drivers/video/fbmem.c \
118 $(TOPDIR)/drivers/video/fbcmap.c \
119 $(TOPDIR)/drivers/video/fbcon.c \
120 $(TOPDIR)/drivers/video/fbgen.c \
121 $(TOPDIR)/drivers/video/fonts.c \
122 $(TOPDIR)/drivers/video/macmodes.c \
123 $(TOPDIR)/drivers/video/modedb.c \
124 $(TOPDIR)/fs/devfs/base.c \
125 $(TOPDIR)/fs/locks.c \
126 $(TOPDIR)/include/asm-i386/bitops.h \
127 $(TOPDIR)/kernel/pm.c \
128 $(TOPDIR)/kernel/ksyms.c \
129 $(TOPDIR)/kernel/kmod.c \
130 $(TOPDIR)/kernel/module.c \
131 $(TOPDIR)/kernel/printk.c \
132 $(TOPDIR)/kernel/sched.c \
133 $(TOPDIR)/kernel/sysctl.c \
134 $(TOPDIR)/lib/string.c \
135 $(TOPDIR)/lib/vsprintf.c \
136 $(TOPDIR)/net/netsyms.c
138 kernel-api.sgml: kernel-api.tmpl $(APISOURCES)
139 $(TOPDIR)/scripts/docgen $(APISOURCES) \
140 <kernel-api.tmpl >kernel-api.sgml
142 kernel-api-man: $(APISOURCES)
143 @rm -rf $(TOPDIR)/Documentation/man
144 $(TOPDIR)/scripts/kernel-doc -man $^ | \
145 $(PERL) $(TOPDIR)/scripts/split-man $(TOPDIR)/Documentation/man
147 parportbook parportbook.pdf: $(PNG-parportbook)
148 parportbook.ps: $(EPS-parportbook)
149 parportbook.sgml: parportbook.tmpl $(TOPDIR)/drivers/parport/init.c
150 $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/parport/init.c <$< >$@
153 JBDSOURCES := $(TOPDIR)/include/linux/jbd.h \
154 $(TOPDIR)/fs/jbd/journal.c \
155 $(TOPDIR)/fs/jbd/recovery.c \
156 $(TOPDIR)/fs/jbd/transaction.c
158 journal-api.sgml: journal-api.tmpl $(JBDSOURCES)
159 $(TOPDIR)/scripts/docgen $(JBDSOURCES) \
160 <journal-api.tmpl >journal-api.sgml
163 DVI := $(patsubst %.sgml, %.dvi, $(BOOKS))
164 AUX := $(patsubst %.sgml, %.aux, $(BOOKS))
165 TEX := $(patsubst %.sgml, %.tex, $(BOOKS))
166 LOG := $(patsubst %.sgml, %.log, $(BOOKS))
167 OUT := $(patsubst %.sgml, %.out, $(BOOKS))
172 rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT)
173 rm -f $(PNG-parportbook) $(EPS-parportbook)
174 rm -f $(C-procfs-example)
180 rm -f $(TOPDIR)/scripts/mkdep-docbook
181 rm -rf DBTOHTML_OUTPUT*
184 @(which db2ps > /dev/null 2>&1) || \
185 (echo "*** You need to install DocBook stylesheets ***"; \
190 @(which db2pdf > /dev/null 2>&1) || \
191 (echo "*** You need to install DocBook stylesheets ***"; \
196 @(which db2html > /dev/null 2>&1) || \
197 (echo "*** You need to install DocBook stylesheets ***"; \
201 if [ ! -z "$(PNG-$@)" ]; then cp $(PNG-$@) $@; fi
204 # we could have our own dependency generator
207 # .depend: $(TOPDIR)/scripts/mkdep-docbook
208 # $(TOPDIR)/scripts/mkdep-docbook $(wildcard *.tmpl) > .depend
210 include $(TOPDIR)/Rules.make