4 _ALL!= cd ${.CURDIR} && ls Doxyfile-*
5 ALL= ${_ALL:C/Doxyfile-//g}
6 PDF_ALL=${_ALL:C/Doxyfile/pdf/g}
8 TARGET_ARCH?= ${MACHINE_ARCH}
12 MFILES!= find ${S} -name \*.m | egrep '/(dev|libkern|kgssapi|opencrypto|isa|geom|kern|xen|net|${TARGET_ARCH})/' | sed -e 's:${S}/::g'
13 HFILES= ${MFILES:T:S/.m$/.h/}
19 @echo "Possible targets are:"
23 @echo " clean-${entry}"
33 mfiles: ${HFILES:S/^/${.OBJDIR}\/include\//}
35 DOXYGEN_DEST_PATH?= ${.OBJDIR}
36 DOXYGEN_LATEX_DEST_PATH?=${.OBJDIR}
37 DOXYGEN_PDF_DEST_PATH?= ${.OBJDIR}
39 .if exists(${S}/${TARGET_ARCH}/linux)
40 DOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux
42 .if exists(${S}/${TARGET_ARCH}/linux32)
43 DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32
47 # generate the necessary targets
50 ${target}: mfiles ${.OBJDIR}/${target}/${target}.tag
52 ${.OBJDIR}/${target}/${target}.tag:
53 @mkdir -p ${.OBJDIR}/${target}
55 env DOXYGEN_INCLUDE_PATH=${.CURDIR} \
56 DOXYGEN_SRC_PATH=${S} \
57 DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \
58 DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include ${.OBJDIR}/include" \
59 DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \
60 DOXYGEN_LINUX_PATH="${DOXYGEN_LINUX_PATH}" \
61 NOTREVIEWED=${.CURDIR}/notreviewed.dox \
62 PATH=${LOCALBASE}/bin:${PATH} \
63 doxygen ${.CURDIR}/Doxyfile-${target}
64 @echo "API docs for ${target} are now available in ${DOXYGEN_DEST_PATH}/${target}/." | /usr/bin/fmt
66 pdf-${target}: ${.OBJDIR}/${target}/${target}.tag
67 @cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
68 @echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt
70 CLEANDIRS+= ${DOXYGEN_DEST_PATH}/${target}
71 CLEANDIRS+= ${.OBJDIR}/${target}/
72 CLEANFILES+= ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf
74 rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target}
77 CLEANDIRS+= ${.OBJDIR}/include
78 .for file in ${MFILES}
79 CLEANFILES+= ${.OBJDIR}/include/${file:T:S/.m$/.h/}
80 ${.OBJDIR}/include/${file:T:S/.m$/.h/}: ${S}/${file}
81 @mkdir -p ${.OBJDIR}/include
82 cd ${.OBJDIR}/include && ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h
86 # update target for the config files {config syntax change}
89 .for config_file in ${_ALL}
90 @doxygen -u ${config_file}
93 .include "Dependencies"