DOCS=ionconf ionnotes
-FNTEXES=ioncore-fns.tex mod_tiling-fns.tex \
- mod_query-fns.tex de-fns.tex mod_menu-fns.tex \
- mod_dock-fns.tex mod_sp-fns.tex
+FNTEXES=ioncore.exports mod_tiling.exports \
+ mod_query.exports de.exports mod_menu.exports \
+ mod_dock.exports mod_sp.exports mod_statusbar.exports
+
+RUBBER_DVI=rubber
+RUBBER_PS=rubber -p
+RUBBER_PDF=rubber -d
+
+TARGETS = ionconf ionnotes
# Generic rules
######################################
nothing:
@ echo "Please read the README first."
-%.ps: %.dvi
- dvips $<
+%-dvi:
+ $(RUBBER_DVI) $*
+
+%-ps:
+ $(RUBBER_PS) $*
-%.pdf: %.dvi
- dvipdfm -p a4 $<
-
-%.dvi: %.tex
- latex $<
+%-pdf:
+ $(RUBBER_PDF) $*
# Install
######################################
# ionconf rules
######################################
-ionconf-dvi-full:
- latex ionconf
- latex ionconf
- latex ionconf
- makeindex ionconf.idx
- latex ionconf
-
-ionconf-html:
- $(L2H) -split 3 ionconf
-fntexes: $(FNTEXES)
+ionconf-dvi: fnlist.tex
+ionconf-ps: fnlist.tex
+ionconf-pdf: fnlist.tex
-ionconf-all: fntexes fnlist.tex ionconf-dvi-full ionconf-html
+ionconf-html: $(FNTEXES)
+ $(L2H) -split 3 ionconf
# ionnotes rules
######################################
-ionnotes-dvi-full:
- latex ionnotes
- latex ionnotes
- latex ionnotes
- makeindex ionnotes.idx
- latex ionnotes
-
ionnotes-html:
$(L2H) -split 4 ionnotes
-ionnotes-all: ionnotes-dvi-full ionnotes-html
-
# More generic rules
######################################
-all: ionconf-all ionnotes-all
+.PHONY: all all-dvi all-ps all-pdf all-html
-all-ps: ionconf.ps ionnotes.ps
+all: all-dvi all-ps all-pdf all-html
-all-pdf: ionconf.pdf ionnotes.pdf
+all-dvi: $(patsubst %,%-dvi,$(TARGETS))
+
+all-ps: $(patsubst %, %-ps, $(TARGETS))
+
+all-pdf: $(patsubst %, %-pdf, $(TARGETS))
+
+all-html: $(patsubst %, %-html, $(TARGETS))
# Clean
# Function reference rules
######################################
-ioncore-fns.tex: $(TOPDIR)/ioncore/*.c $(TOPDIR)/ioncore/*.lua
- $(MKEXPORTS) -module ioncore -mkdoc -o $@ $+
-
-mod_tiling-fns.tex: $(TOPDIR)/mod_tiling/*.c
- $(MKEXPORTS) -module mod_tiling -mkdoc -o $@ $+
-
-mod_query-fns.tex: $(TOPDIR)/mod_query/*.c $(TOPDIR)/mod_query/mod_query.lua
- $(MKEXPORTS) -module mod_query -mkdoc -o $@ $+
-
-mod_menu-fns.tex: $(TOPDIR)/mod_menu/*.c $(TOPDIR)/mod_menu/mod_menu.lua
- $(MKEXPORTS) -module mod_menu -mkdoc -o $@ $+
-
-mod_dock-fns.tex: $(TOPDIR)/mod_dock/*.c
- $(MKEXPORTS) -module mod_dock -mkdoc -o $@ $+
+include $(TOPDIR)/libmainloop/rx.mk
-mod_sp-fns.tex: $(TOPDIR)/mod_sp/*.c
- $(MKEXPORTS) -module mod_sp -mkdoc -o $@ $+
+$(TOPDIR)/%/exports.tex:
+ $(MAKE) -C $$(dirname $@) _exports_doc
-de-fns.tex: $(TOPDIR)/de/*.c
- $(MKEXPORTS) -module de -mkdoc -o $@ $+
+%.exports: $(TOPDIR)/%/exports.tex
+ cp $< $@
# Function list
######################################