Makefile revision 160922
1158961Snetchild# 2158961Snetchild# $FreeBSD: head/tools/kerneldoc/subsys/Makefile 160922 2006-08-02 15:24:59Z netchild $ 3158961Snetchild# 4158961Snetchild 5158961Snetchild_ALL!= cd ${.CURDIR} && ls Doxyfile-* 6158961SnetchildALL= ${_ALL:C/Doxyfile-//g} 7158961SnetchildPDF_ALL=${_ALL:C/Doxyfile/pdf/g} 8158961Snetchild 9158961SnetchildTARGET_ARCH?= ${MACHINE_ARCH} 10158961SnetchildS?=/usr/src/sys 11160922SnetchildLOCALBASE?=/usr/local 12158961Snetchild 13158961SnetchildMFILES+=contrib/dev/ath/freebsd/ah_if.m 14158961SnetchildMFILES+=dev/acpica/acpi_if.m 15160172SnetchildMFILES+=dev/ata/ata_if.m 16158961SnetchildMFILES+=dev/eisa/eisa_if.m 17158961SnetchildMFILES+=dev/iicbus/iicbb_if.m 18158961SnetchildMFILES+=dev/iicbus/iicbus_if.m 19158961SnetchildMFILES+=dev/mii/miibus_if.m 20158961SnetchildMFILES+=dev/ofw/ofw_bus_if.m 21158961SnetchildMFILES+=dev/pccard/card_if.m 22158961SnetchildMFILES+=dev/pccard/power_if.m 23158961SnetchildMFILES+=dev/pci/pci_if.m 24158961SnetchildMFILES+=dev/pci/pcib_if.m 25158961SnetchildMFILES+=dev/ppbus/ppbus_if.m 26160172SnetchildMFILES+=dev/scc/scc_if.m 27158961SnetchildMFILES+=dev/smbus/smbus_if.m 28160172SnetchildMFILES+=dev/sound/midi/mpu_if.m 29160172SnetchildMFILES+=dev/sound/midi/mpufoi_if.m 30160172SnetchildMFILES+=dev/sound/midi/synth_if.m 31158961SnetchildMFILES+=dev/sound/pcm/ac97_if.m 32158961SnetchildMFILES+=dev/sound/pcm/channel_if.m 33158961SnetchildMFILES+=dev/sound/pcm/feeder_if.m 34158961SnetchildMFILES+=dev/sound/pcm/mixer_if.m 35158961SnetchildMFILES+=dev/uart/uart_if.m 36158961SnetchildMFILES+=dev/usb/usb_if.m 37158961SnetchildMFILES+=isa/isa_if.m 38158961SnetchildMFILES+=kern/bus_if.m 39158961SnetchildMFILES+=kern/clock_if.m 40158961SnetchildMFILES+=kern/cpufreq_if.m 41158961SnetchildMFILES+=kern/device_if.m 42158961SnetchildMFILES+=kern/linker_if.m 43160172SnetchildMFILES+=kern/serdev_if.m 44158961SnetchildMFILES+=libkern/iconv_converter_if.m 45158961SnetchildMFILES+=opencrypto/crypto_if.m 46158961SnetchildMFILES+=pc98/pc98/canbus_if.m 47158961SnetchildMFILES+=pci/agp_if.m 48160172SnetchildMFILES+=powerpc/powerpc/mmu_if.m 49158961SnetchildMFILES+=powerpc/powerpc/pic_if.m 50158961SnetchildMFILES+=sparc64/pci/ofw_pci_if.m 51158961Snetchild 52158961SnetchildHFILES= ${MFILES:T:S/.m$/.h/} 53158961SnetchildAWK?= awk 54158961Snetchild 55158961Snetchild.MAIN: usage 56158961Snetchild 57158961Snetchildusage: 58158961Snetchild @echo "Possible targets are:" 59158961Snetchild.for entry in ${ALL} 60158961Snetchild @echo " ${entry}" 61158961Snetchild @echo " pdf-${entry}" 62158961Snetchild @echo " clean-${entry}" 63158961Snetchild.endfor 64158961Snetchild @echo 65158961Snetchild @echo " all" 66158961Snetchild @echo " pdf-all" 67158961Snetchild @echo " clean" 68158961Snetchild 69158961Snetchildall: ${ALL} 70158961Snetchildpdf-all:${PDF_ALL} 71158961Snetchild 72158961Snetchildmfiles: ${HFILES:S/^/${.OBJDIR}\//} 73158961Snetchild 74158961SnetchildDOXYGEN_DEST_PATH= ${.OBJDIR} 75158961SnetchildDOXYGEN_LATEX_DEST_PATH=${.OBJDIR} 76158961SnetchildDOXYGEN_PDF_DEST_PATH= ${.OBJDIR} 77158961Snetchild 78158961Snetchild.if exists{${S}/${TARGET_ARCH}/linux} 79158961SnetchildDOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux 80158961Snetchild.endif 81158961Snetchild.if exists{${S}/${TARGET_ARCH}/linux32} 82158961SnetchildDOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32 83158961Snetchild.endif 84158961Snetchild 85158961Snetchild# 86158961Snetchild# generate the necessary targets 87158961Snetchild# 88158961Snetchild.for target in ${ALL} 89158961Snetchild${target}: mfiles ${.OBJDIR}/${target}/${target}.tag 90158961Snetchild 91158961Snetchild${.OBJDIR}/${target}/${target}.tag: 92160922Snetchild @mkdir -p ${.OBJDIR}/${target} 93158961Snetchild @cd ${.OBJDIR} && \ 94158961Snetchild env DOXYGEN_INCLUDE_PATH=${.CURDIR} \ 95158961Snetchild DOXYGEN_SRC_PATH=${S} \ 96158961Snetchild DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \ 97158961Snetchild DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include" \ 98158961Snetchild DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \ 99158961Snetchild DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \ 100159010Snetchild NOTREVIEWED=${.CURDIR}/notreviewed.dox \ 101160922Snetchild PATH=${LOCALBASE}/bin:${PATH} \ 102158961Snetchild doxygen ${.CURDIR}/Doxyfile-${target} 103158961Snetchild @echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt 104158961Snetchild 105158961Snetchildpdf-${target}: ${.OBJDIR}/${target}/${target}.tag 106158961Snetchild @cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf 107158961Snetchild @echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt 108158961Snetchild 109158961SnetchildCLEANDIRS+= ${DOXYGEN_DEST_PATH}/${target} 110158961SnetchildCLEANDIRS+= ${.OBJDIR}/${target}/ 111158961SnetchildCLEANFILES+= ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf 112158961Snetchildclean-${target}: 113158961Snetchild rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target} 114158961Snetchild.endfor 115158961Snetchild 116158961Snetchild.for file in ${MFILES} 117158961SnetchildCLEANDIRS+= ${.OBJDIR}/${file:T:S/.m$/.h/} 118158961Snetchild${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file} 119158961Snetchild cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h 120158961Snetchild.endfor 121158961Snetchild 122158961Snetchild# 123158961Snetchild# update target for the config files {config syntax change} 124158961Snetchild# 125158961Snetchildupdate-doxys: 126158961Snetchild.for config_file in ${_ALL} 127158961Snetchild @doxygen -u ${config_file} 128158961Snetchild.endfor 129158961Snetchild 130158961Snetchild.include "Dependencies" 131158961Snetchild.include <bsd.obj.mk> 132