Browse Source

build: move documentation rules to doc/Makefile

Signed-off-by: Mans Rullgard <mans@mansr.com>
tags/n0.9
Mans Rullgard 14 years ago
parent
commit
f87b03b50d
3 changed files with 47 additions and 38 deletions
  1. +3
    -38
      Makefile
  2. +1
    -0
      configure
  3. +43
    -0
      doc/Makefile

+ 3
- 38
Makefile View File

@@ -16,9 +16,6 @@ PROGS-$(CONFIG_FFSERVER) += ffserver


PROGS := $(PROGS-yes:%=%$(EXESUF)) PROGS := $(PROGS-yes:%=%$(EXESUF))
OBJS = $(PROGS-yes:%=%.o) cmdutils.o OBJS = $(PROGS-yes:%=%.o) cmdutils.o
MANPAGES = $(PROGS-yes:%=doc/%.1)
PODPAGES = $(PROGS-yes:%=doc/%.pod)
HTMLPAGES = $(PROGS-yes:%=doc/%.html)
TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher)) TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher))
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64 TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) HOSTPROGS := $(TESTTOOLS:%=tests/%)
@@ -48,8 +45,6 @@ FF_LDFLAGS := $(FFLDFLAGS)
FF_EXTRALIBS := $(FFEXTRALIBS) FF_EXTRALIBS := $(FFEXTRALIBS)
FF_DEP_LIBS := $(DEP_LIBS) FF_DEP_LIBS := $(DEP_LIBS)


all-$(CONFIG_DOC): documentation

all: $(FF_DEP_LIBS) $(PROGS) all: $(FF_DEP_LIBS) $(PROGS)


config.h: .config config.h: .config
@@ -105,28 +100,6 @@ version.h .version:
# force version.sh to run whenever version might have changed # force version.sh to run whenever version might have changed
-include .version -include .version


DOCS = $(addprefix doc/, developer.html faq.html general.html libavfilter.html) $(HTMLPAGES) $(MANPAGES) $(PODPAGES)

documentation: $(DOCS)

-include $(wildcard $(DOCS:%=%.d))

TEXIDEP = awk '/^@include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d)

doc/%.html: TAG = HTML
doc/%.html: doc/%.texi $(SRC_PATH_BARE)/doc/t2h.init
$(Q)$(TEXIDEP)
$(M)texi2html -monolithic --init-file $(SRC_PATH_BARE)/doc/t2h.init --output $@ $<

doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi
$(Q)$(TEXIDEP)
$(M)doc/texi2pod.pl $< $@

doc/%.1: TAG = MAN
doc/%.1: doc/%.pod
$(M)pod2man --section=1 --center=" " --release=" " $< > $@

ifdef PROGS ifdef PROGS
install: install-progs install-data install: install-progs install-data
endif endif
@@ -136,7 +109,6 @@ install: install-libs install-headers
install-libs: install-libs-yes install-libs: install-libs-yes


install-progs-yes: install-progs-yes:
install-progs-$(CONFIG_DOC): install-man
install-progs-$(CONFIG_SHARED): install-libs install-progs-$(CONFIG_SHARED): install-libs


install-progs: install-progs-yes $(PROGS) install-progs: install-progs-yes $(PROGS)
@@ -147,11 +119,7 @@ install-data: $(DATA_FILES)
$(Q)mkdir -p "$(DATADIR)" $(Q)mkdir -p "$(DATADIR)"
$(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"


install-man: $(MANPAGES)
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"

uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data uninstall-man
uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data


uninstall-progs: uninstall-progs:
$(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS)) $(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS))
@@ -159,13 +127,9 @@ uninstall-progs:
uninstall-data: uninstall-data:
$(RM) -r "$(DATADIR)" $(RM) -r "$(DATADIR)"


uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))

clean:: clean::
$(RM) $(ALLPROGS) $(RM) $(ALLPROGS)
$(RM) $(CLEANSUFFIXES) $(RM) $(CLEANSUFFIXES)
$(RM) doc/*.html doc/*.pod doc/*.1
$(RM) $(TOOLS) $(RM) $(TOOLS)
$(RM) $(CLEANSUFFIXES:%=tools/%) $(RM) $(CLEANSUFFIXES:%=tools/%)


@@ -178,7 +142,8 @@ config:


check: test checkheaders check: test checkheaders


include doc/Makefile
include tests/Makefile include tests/Makefile


.PHONY: all alltools *clean check config documentation examples install*
.PHONY: all alltools *clean check config examples install*
.PHONY: testprogs uninstall* .PHONY: testprogs uninstall*

+ 1
- 0
configure View File

@@ -3221,6 +3221,7 @@ if enabled source_path_used; then
Makefile Makefile
common.mak common.mak
subdir.mak subdir.mak
doc/Makefile
doc/texi2pod.pl doc/texi2pod.pl
libavcodec/Makefile libavcodec/Makefile
libavcodec/${arch}/Makefile libavcodec/${arch}/Makefile


+ 43
- 0
doc/Makefile View File

@@ -0,0 +1,43 @@
MANPAGES = $(PROGS-yes:%=doc/%.1)
PODPAGES = $(PROGS-yes:%=doc/%.pod)
HTMLPAGES = $(PROGS-yes:%=doc/%.html)

DOCS = $(addprefix doc/, developer.html faq.html general.html libavfilter.html) $(HTMLPAGES) $(MANPAGES) $(PODPAGES)

all-$(CONFIG_DOC): documentation

documentation: $(DOCS)

TEXIDEP = awk '/^@include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d)

doc/%.html: TAG = HTML
doc/%.html: doc/%.texi $(SRC_PATH_BARE)/doc/t2h.init
$(Q)$(TEXIDEP)
$(M)texi2html -monolithic --init-file $(SRC_PATH_BARE)/doc/t2h.init --output $@ $<

doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi
$(Q)$(TEXIDEP)
$(M)doc/texi2pod.pl $< $@

doc/%.1: TAG = MAN
doc/%.1: doc/%.pod
$(M)pod2man --section=1 --center=" " --release=" " $< > $@

install-progs-$(CONFIG_DOC): install-man

install-man: $(MANPAGES)
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"

uninstall: uninstall-man

uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))

clean::
$(RM) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%)

-include $(wildcard $(DOCS:%=%.d))

.PHONY: documentation

Loading…
Cancel
Save