blackmagic/doc/Makefile
Karl Palsson d002d9552f doc: dynamically generate correct file lists
Instead of the fragile and error prone attempts to specifically
include/exclude files from doxygen by name and pattern, simply use the
already generated .d files to provide accurate and up to date lists of
all source files used.

Pros:
* Nothing left to worry about
* Much more encouraging to actually _work_ on the documentation now that
you can be sure the right docs will be generated instead of a confusing
mix.

Downsides/Upsides:
* Automatically includes all CM3/USB in each device's page _as well_ now

Downsides:
* lpc43xx still manually listed.  However, completely contained in it's
own dir, so no problems
* No attempt to carry this in latex.  easy, but more tempted to drop
latex support outright. (I don't think the generation there has even
worked for a while now)
* Due to the mismatch between lib directories and document roots, the
sourcelist can't be magically created per directory.  There has to be
some sort of mapping between the two, so as this is doc generation only,
a static list seems sane for maintennance.  (Especially compared to the
old method)
* Source list generation probably doesn't work on windows.
2017-10-18 20:05:14 +00:00

67 lines
1.9 KiB
Makefile

# Makefile to build libopencm3 documentation
# 14 September 2012
# (C) Ken Sarkies <ksarkies@internode.on.net>
ARCHS := stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7
ARCHS += stm32l0 stm32l1 stm32l4
ARCHS += efm32g efm32gg efm32lg efm32tg
ARCHS += lm3s lm4f
ARCHS += lpc13xx lpc17xx lpc43xx
ARCHS += sam3a sam3n sam3s sam3u sam3x
ARCHS += vf6xx
PDFS := $(ARCHS:=.pdf)
doc: html latex
html: rebuildsources cm3 usb $(ARCHS)
doxygen
latex: $(PDFS)
cm3:
cd cm3/; doxygen
usb:
cd usb/; doxygen
$(ARCHS):
cd $@/; doxygen
%.pdf:
cd $*/; doxygen Doxyfile_latex; cd latex/; $(MAKE); cp refman.pdf ../../$(*).pdf
clean:
@rm -rf html/ */html/ */latex/ *.pdf */*.tag
rebuildsources:
@printf "Manually regenerating source lists from build deps\n"
../scripts/gendoxylist ../lib/stm32/f0 stm32f0
../scripts/gendoxylist ../lib/stm32/f1 stm32f1
../scripts/gendoxylist ../lib/stm32/f2 stm32f2
../scripts/gendoxylist ../lib/stm32/f3 stm32f3
../scripts/gendoxylist ../lib/stm32/f4 stm32f4
../scripts/gendoxylist ../lib/stm32/f7 stm32f7
../scripts/gendoxylist ../lib/stm32/l0 stm32l0
../scripts/gendoxylist ../lib/stm32/l1 stm32l1
../scripts/gendoxylist ../lib/stm32/l4 stm32l4
../scripts/gendoxylist ../lib/stm32/l4 stm32l4
../scripts/gendoxylist ../lib/efm32/g efm32g
../scripts/gendoxylist ../lib/efm32/gg efm32gg
../scripts/gendoxylist ../lib/efm32/lg efm32lg
../scripts/gendoxylist ../lib/efm32/tg efm32tg
../scripts/gendoxylist ../lib/lm3s lm3s
../scripts/gendoxylist ../lib/lm4f lm4f
../scripts/gendoxylist ../lib/lpc13xx lpc13xx
../scripts/gendoxylist ../lib/lpc17xx lpc17xx
../scripts/gendoxylist ../lib/sam/3a sam3a
../scripts/gendoxylist ../lib/sam/3n sam3n
../scripts/gendoxylist ../lib/sam/3s sam3s
../scripts/gendoxylist ../lib/sam/3u sam3u
../scripts/gendoxylist ../lib/sam/3x sam3x
../scripts/gendoxylist ../lib/vf6xx vf6xx
.PHONY: doc html cm3 usb $(ARCHS) latex rebuildsources