xref: /freebsd/tools/kerneldoc/subsys/Makefile (revision 69f1cb3c91c3377cedc28a9fe37673bda10602cd)
1ff4b8cb7SAlexander Leidinger#
2ff4b8cb7SAlexander Leidinger# $FreeBSD$
3ff4b8cb7SAlexander Leidinger#
4ff4b8cb7SAlexander Leidinger
5ff4b8cb7SAlexander Leidinger_ALL!=	cd ${.CURDIR} && ls Doxyfile-*
6ff4b8cb7SAlexander LeidingerALL=	${_ALL:C/Doxyfile-//g}
7ff4b8cb7SAlexander LeidingerPDF_ALL=${_ALL:C/Doxyfile/pdf/g}
8ff4b8cb7SAlexander Leidinger
9ff4b8cb7SAlexander LeidingerTARGET_ARCH?=	${MACHINE_ARCH}
10ff4b8cb7SAlexander LeidingerS?=/usr/src/sys
1169f1cb3cSAlexander LeidingerLOCALBASE?=/usr/local
12ff4b8cb7SAlexander Leidinger
13ff4b8cb7SAlexander LeidingerMFILES+=contrib/dev/ath/freebsd/ah_if.m
14ff4b8cb7SAlexander LeidingerMFILES+=dev/acpica/acpi_if.m
1575f8db26SAlexander LeidingerMFILES+=dev/ata/ata_if.m
16ff4b8cb7SAlexander LeidingerMFILES+=dev/eisa/eisa_if.m
17ff4b8cb7SAlexander LeidingerMFILES+=dev/iicbus/iicbb_if.m
18ff4b8cb7SAlexander LeidingerMFILES+=dev/iicbus/iicbus_if.m
19ff4b8cb7SAlexander LeidingerMFILES+=dev/mii/miibus_if.m
20ff4b8cb7SAlexander LeidingerMFILES+=dev/ofw/ofw_bus_if.m
21ff4b8cb7SAlexander LeidingerMFILES+=dev/pccard/card_if.m
22ff4b8cb7SAlexander LeidingerMFILES+=dev/pccard/power_if.m
23ff4b8cb7SAlexander LeidingerMFILES+=dev/pci/pci_if.m
24ff4b8cb7SAlexander LeidingerMFILES+=dev/pci/pcib_if.m
25ff4b8cb7SAlexander LeidingerMFILES+=dev/ppbus/ppbus_if.m
2675f8db26SAlexander LeidingerMFILES+=dev/scc/scc_if.m
27ff4b8cb7SAlexander LeidingerMFILES+=dev/smbus/smbus_if.m
2875f8db26SAlexander LeidingerMFILES+=dev/sound/midi/mpu_if.m
2975f8db26SAlexander LeidingerMFILES+=dev/sound/midi/mpufoi_if.m
3075f8db26SAlexander LeidingerMFILES+=dev/sound/midi/synth_if.m
31ff4b8cb7SAlexander LeidingerMFILES+=dev/sound/pcm/ac97_if.m
32ff4b8cb7SAlexander LeidingerMFILES+=dev/sound/pcm/channel_if.m
33ff4b8cb7SAlexander LeidingerMFILES+=dev/sound/pcm/feeder_if.m
34ff4b8cb7SAlexander LeidingerMFILES+=dev/sound/pcm/mixer_if.m
35ff4b8cb7SAlexander LeidingerMFILES+=dev/uart/uart_if.m
36ff4b8cb7SAlexander LeidingerMFILES+=dev/usb/usb_if.m
37ff4b8cb7SAlexander LeidingerMFILES+=isa/isa_if.m
38ff4b8cb7SAlexander LeidingerMFILES+=kern/bus_if.m
39ff4b8cb7SAlexander LeidingerMFILES+=kern/clock_if.m
40ff4b8cb7SAlexander LeidingerMFILES+=kern/cpufreq_if.m
41ff4b8cb7SAlexander LeidingerMFILES+=kern/device_if.m
42ff4b8cb7SAlexander LeidingerMFILES+=kern/linker_if.m
4375f8db26SAlexander LeidingerMFILES+=kern/serdev_if.m
44ff4b8cb7SAlexander LeidingerMFILES+=libkern/iconv_converter_if.m
45ff4b8cb7SAlexander LeidingerMFILES+=opencrypto/crypto_if.m
46ff4b8cb7SAlexander LeidingerMFILES+=pc98/pc98/canbus_if.m
47ff4b8cb7SAlexander LeidingerMFILES+=pci/agp_if.m
4875f8db26SAlexander LeidingerMFILES+=powerpc/powerpc/mmu_if.m
49ff4b8cb7SAlexander LeidingerMFILES+=powerpc/powerpc/pic_if.m
50ff4b8cb7SAlexander LeidingerMFILES+=sparc64/pci/ofw_pci_if.m
51ff4b8cb7SAlexander Leidinger
52ff4b8cb7SAlexander LeidingerHFILES=	${MFILES:T:S/.m$/.h/}
53ff4b8cb7SAlexander LeidingerAWK?=	awk
54ff4b8cb7SAlexander Leidinger
55ff4b8cb7SAlexander Leidinger.MAIN:	usage
56ff4b8cb7SAlexander Leidinger
57ff4b8cb7SAlexander Leidingerusage:
58ff4b8cb7SAlexander Leidinger	@echo "Possible targets are:"
59ff4b8cb7SAlexander Leidinger.for entry in ${ALL}
60ff4b8cb7SAlexander Leidinger	@echo "	${entry}"
61ff4b8cb7SAlexander Leidinger	@echo "	pdf-${entry}"
62ff4b8cb7SAlexander Leidinger	@echo "	clean-${entry}"
63ff4b8cb7SAlexander Leidinger.endfor
64ff4b8cb7SAlexander Leidinger	@echo
65ff4b8cb7SAlexander Leidinger	@echo "	all"
66ff4b8cb7SAlexander Leidinger	@echo "	pdf-all"
67ff4b8cb7SAlexander Leidinger	@echo "	clean"
68ff4b8cb7SAlexander Leidinger
69ff4b8cb7SAlexander Leidingerall:	${ALL}
70ff4b8cb7SAlexander Leidingerpdf-all:${PDF_ALL}
71ff4b8cb7SAlexander Leidinger
72ff4b8cb7SAlexander Leidingermfiles: ${HFILES:S/^/${.OBJDIR}\//}
73ff4b8cb7SAlexander Leidinger
74ff4b8cb7SAlexander LeidingerDOXYGEN_DEST_PATH=	${.OBJDIR}
75ff4b8cb7SAlexander LeidingerDOXYGEN_LATEX_DEST_PATH=${.OBJDIR}
76ff4b8cb7SAlexander LeidingerDOXYGEN_PDF_DEST_PATH=	${.OBJDIR}
77ff4b8cb7SAlexander Leidinger
78ff4b8cb7SAlexander Leidinger.if exists{${S}/${TARGET_ARCH}/linux}
79ff4b8cb7SAlexander LeidingerDOXYGEN_LINUX_PATH=	${S}/${TARGET_ARCH}/linux
80ff4b8cb7SAlexander Leidinger.endif
81ff4b8cb7SAlexander Leidinger.if exists{${S}/${TARGET_ARCH}/linux32}
82ff4b8cb7SAlexander LeidingerDOXYGEN_LINUX_PATH+=	${S}/${TARGET_ARCH}/linux32
83ff4b8cb7SAlexander Leidinger.endif
84ff4b8cb7SAlexander Leidinger
85ff4b8cb7SAlexander Leidinger#
86ff4b8cb7SAlexander Leidinger# generate the necessary targets
87ff4b8cb7SAlexander Leidinger#
88ff4b8cb7SAlexander Leidinger.for target in ${ALL}
89ff4b8cb7SAlexander Leidinger${target}:	mfiles ${.OBJDIR}/${target}/${target}.tag
90ff4b8cb7SAlexander Leidinger
91ff4b8cb7SAlexander Leidinger${.OBJDIR}/${target}/${target}.tag:
9269f1cb3cSAlexander Leidinger	@mkdir -p ${.OBJDIR}/${target}
93ff4b8cb7SAlexander Leidinger	@cd ${.OBJDIR} && \
94ff4b8cb7SAlexander Leidinger		env DOXYGEN_INCLUDE_PATH=${.CURDIR} \
95ff4b8cb7SAlexander Leidinger		    DOXYGEN_SRC_PATH=${S}  \
96ff4b8cb7SAlexander Leidinger		    DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \
97ff4b8cb7SAlexander Leidinger		    DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include" \
98ff4b8cb7SAlexander Leidinger		    DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \
99ff4b8cb7SAlexander Leidinger		    DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \
10039e2bd0bSAlexander Leidinger		    NOTREVIEWED=${.CURDIR}/notreviewed.dox \
10169f1cb3cSAlexander Leidinger		    PATH=${LOCALBASE}/bin:${PATH} \
102ff4b8cb7SAlexander Leidinger			doxygen ${.CURDIR}/Doxyfile-${target}
103ff4b8cb7SAlexander Leidinger	@echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt
104ff4b8cb7SAlexander Leidinger
105ff4b8cb7SAlexander Leidingerpdf-${target}:	${.OBJDIR}/${target}/${target}.tag
106ff4b8cb7SAlexander Leidinger	@cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
107ff4b8cb7SAlexander Leidinger	@echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt
108ff4b8cb7SAlexander Leidinger
109ff4b8cb7SAlexander LeidingerCLEANDIRS+=	${DOXYGEN_DEST_PATH}/${target}
110ff4b8cb7SAlexander LeidingerCLEANDIRS+=	${.OBJDIR}/${target}/
111ff4b8cb7SAlexander LeidingerCLEANFILES+=	${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
112ff4b8cb7SAlexander Leidingerclean-${target}:
113ff4b8cb7SAlexander Leidinger	rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target}
114ff4b8cb7SAlexander Leidinger.endfor
115ff4b8cb7SAlexander Leidinger
116ff4b8cb7SAlexander Leidinger.for file in ${MFILES}
117ff4b8cb7SAlexander LeidingerCLEANDIRS+=     ${.OBJDIR}/${file:T:S/.m$/.h/}
118ff4b8cb7SAlexander Leidinger${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file}
119ff4b8cb7SAlexander Leidinger	cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h
120ff4b8cb7SAlexander Leidinger.endfor
121ff4b8cb7SAlexander Leidinger
122ff4b8cb7SAlexander Leidinger#
123ff4b8cb7SAlexander Leidinger# update target for the config files {config syntax change}
124ff4b8cb7SAlexander Leidinger#
125ff4b8cb7SAlexander Leidingerupdate-doxys:
126ff4b8cb7SAlexander Leidinger.for config_file in ${_ALL}
127ff4b8cb7SAlexander Leidinger	@doxygen -u ${config_file}
128ff4b8cb7SAlexander Leidinger.endfor
129ff4b8cb7SAlexander Leidinger
130ff4b8cb7SAlexander Leidinger.include "Dependencies"
131ff4b8cb7SAlexander Leidinger.include <bsd.obj.mk>
132