]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - tools/kerneldoc/subsys/Makefile
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / tools / kerneldoc / subsys / Makefile
1 #
2 # $FreeBSD$
3 #
4
5 _ALL!=  cd ${.CURDIR} && ls Doxyfile-*
6 ALL=    ${_ALL:C/Doxyfile-//g}
7 PDF_ALL=${_ALL:C/Doxyfile/pdf/g}
8
9 TARGET_ARCH?=   ${MACHINE_ARCH}
10 S?=/usr/src/sys
11 LOCALBASE?=/usr/local
12
13 MFILES+=dev/acpica/acpi_if.m
14 MFILES+=dev/ata/ata_if.m
15 MFILES+=dev/eisa/eisa_if.m
16 MFILES+=dev/iicbus/iicbb_if.m
17 MFILES+=dev/iicbus/iicbus_if.m
18 MFILES+=dev/mii/miibus_if.m
19 MFILES+=dev/mmc/mmcbr_if.m
20 MFILES+=dev/mmc/mmcbus_if.m
21 MFILES+=dev/ofw/ofw_bus_if.m
22 MFILES+=dev/pccard/card_if.m
23 MFILES+=dev/pccard/power_if.m
24 MFILES+=dev/pci/pci_if.m
25 MFILES+=dev/pci/pcib_if.m
26 MFILES+=dev/ppbus/ppbus_if.m
27 MFILES+=dev/scc/scc_if.m
28 MFILES+=dev/smbus/smbus_if.m
29 MFILES+=dev/sound/midi/mpu_if.m
30 MFILES+=dev/sound/midi/mpufoi_if.m
31 MFILES+=dev/sound/midi/synth_if.m
32 MFILES+=dev/sound/pcm/ac97_if.m
33 MFILES+=dev/sound/pcm/channel_if.m
34 MFILES+=dev/sound/pcm/feeder_if.m
35 MFILES+=dev/sound/pcm/mixer_if.m
36 MFILES+=dev/spibus/spibus_if.m
37 MFILES+=dev/uart/uart_if.m
38 MFILES+=dev/usb/usb_if.m
39 MFILES+=geom/part/g_part_if.m
40 MFILES+=isa/isa_if.m
41 MFILES+=kern/bus_if.m
42 MFILES+=kern/clock_if.m
43 MFILES+=kern/cpufreq_if.m
44 MFILES+=kern/device_if.m
45 MFILES+=kern/linker_if.m
46 MFILES+=kern/serdev_if.m
47 MFILES+=libkern/iconv_converter_if.m
48 MFILES+=opencrypto/cryptodev_if.m
49 MFILES+=pc98/pc98/canbus_if.m
50 MFILES+=pci/agp_if.m
51 MFILES+=powerpc/powerpc/mmu_if.m
52 MFILES+=powerpc/powerpc/pic_if.m
53 MFILES+=sparc64/pci/ofw_pci_if.m
54 MFILES+=sun4v/mdesc/mdesc_bus_if.m
55
56 HFILES= ${MFILES:T:S/.m$/.h/}
57 AWK?=   awk
58
59 .MAIN:  usage
60
61 usage:
62         @echo "Possible targets are:"
63 .for entry in ${ALL}
64         @echo " ${entry}"
65         @echo " pdf-${entry}"
66         @echo " clean-${entry}"
67 .endfor
68         @echo
69         @echo " all"
70         @echo " pdf-all"
71         @echo " clean"
72
73 all:    ${ALL}
74 pdf-all:${PDF_ALL}
75
76 mfiles: ${HFILES:S/^/${.OBJDIR}\//}
77
78 DOXYGEN_DEST_PATH=      ${.OBJDIR}
79 DOXYGEN_LATEX_DEST_PATH=${.OBJDIR}
80 DOXYGEN_PDF_DEST_PATH=  ${.OBJDIR}
81
82 .if exists{${S}/${TARGET_ARCH}/linux}
83 DOXYGEN_LINUX_PATH=     ${S}/${TARGET_ARCH}/linux
84 .endif
85 .if exists{${S}/${TARGET_ARCH}/linux32}
86 DOXYGEN_LINUX_PATH+=    ${S}/${TARGET_ARCH}/linux32
87 .endif
88
89 #
90 # generate the necessary targets
91 #
92 .for target in ${ALL}
93 ${target}:      mfiles ${.OBJDIR}/${target}/${target}.tag
94
95 ${.OBJDIR}/${target}/${target}.tag:
96         @mkdir -p ${.OBJDIR}/${target}
97         @cd ${.OBJDIR} && \
98                 env DOXYGEN_INCLUDE_PATH=${.CURDIR} \
99                     DOXYGEN_SRC_PATH=${S}  \
100                     DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \
101                     DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include" \
102                     DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \
103                     DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \
104                     NOTREVIEWED=${.CURDIR}/notreviewed.dox \
105                     PATH=${LOCALBASE}/bin:${PATH} \
106                         doxygen ${.CURDIR}/Doxyfile-${target}
107         @echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt
108
109 pdf-${target}:  ${.OBJDIR}/${target}/${target}.tag
110         @cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
111         @echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt
112
113 CLEANDIRS+=     ${DOXYGEN_DEST_PATH}/${target}
114 CLEANDIRS+=     ${.OBJDIR}/${target}/
115 CLEANFILES+=    ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
116 clean-${target}:
117         rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target}
118 .endfor
119
120 .for file in ${MFILES}
121 CLEANDIRS+=     ${.OBJDIR}/${file:T:S/.m$/.h/}
122 ${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file}
123         cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h
124 .endfor
125
126 #
127 # update target for the config files {config syntax change}
128 #
129 update-doxys:
130 .for config_file in ${_ALL}
131         @doxygen -u ${config_file}
132 .endfor
133
134 .include "Dependencies"
135 .include <bsd.obj.mk>