2
голос «против»
избранное
Имеется код созданный на основе GObject который необходимо задокументировать, обнаружил, что для этой цели есть gtk-doc, который способен кроме описания функций еще документировать сигналы и свойства объекта. Использовал это:
https://wiki.gnome.org/DocumentationProject/GtkDoc и это
https://developer.gnome.org/gtk-doc-manual/stable/ . Документация должна собиратся "make doc".
Вопрос как создать рабочий Makefile?
Makefile:
objects = main.o example_person.o
source = main.c example_person.c
bin = main
DOC_MODULE = example_person
CC=gcc
CFLAGS = -g -O0 --std=gnu99 -Wall -Wextra -Wno-unused-parameter \
$(shell pkg-config --cflags gobject-2.0)
LIBS = $(shell pkg-config --libs gobject-2.0)
ALL_FLAGS = $(CFLAGS)
ALL_LIBS = $(CFLAGS) $(LIBS)
$(bin): $(objects)
$(CC) $(ALL_LIBS) -o $(bin) $(objects)
$(objects): $(source)
$(CC) $(ALL_FLAGS) -c $(source)
clean:
rm -f $(bin)
rm -f *.o
// Создание документации "make doc"
doc:
@echo "doc generator ... "
# sources have changed
gtkdoc-scan --module="$(DOC_MODULE)"
gtkdoc-scangobj --module="$(DOC_MODULE)" --output-dir=gen --cc="$(CC)" --cflags="$(CFLAGS)" --ldflags="$(LIBS)"
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --source-dir=src
# xml files have changed
mkdir html
cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html