SmartDocその後



カニ氏から「SmartDoc はメイクするべし」とのアドバイスをもらったので、以下のようなMakefileを書いてみた。こんなんでいいんかな?

- Makefile
#=========================
# Makefile for SmartDoc
#=========================

SOURCE = index

CFLAGS =

# Common Commands
SDOC = /usr/local/bin/sdoc
CAT = /bin/cat
CP = /bin/cp
RM = /bin/rm -f

# Default Settings
ENABLE_DEFAULT = 1
TEMPLATE_DIR = ./
SDOCRC = SmartDoc.properties
HTMLRC = $(TEMPLATE_DIR)/HTML.properties
TEXTRC = $(TEMPLATE_DIR)/TEXT.properties
PDFRC = $(TEMPLATE_DIR)/PDF.properties
TEX_HEADER = $(TEMPLATE_DIR)/header.tex

# For TeX(PDF)
PLATEX = /usr/local/teTeX/bin/platex -interaction=nonstopmode
DVIPDF = /usr/local/teTeX/bin/dvipdfmx
TAIL = /usr/bin/tail +5
TMPTEX = /tmp/$(SOURCE).tex

#=========================
# Targets
#=========================
default : html

html :
@if [ "$(ENABLE_DEFAULT)" = "1" ] ; then ¥
$(CP) $(HTMLRC) $(SDOCRC) ; ¥
fi
$(SDOC) -format:html4 $(CFLAGS) $(SOURCE).sdoc

text :
@if [ "$(ENABLE_DEFAULT)" = "1" ] ; then ¥
$(CP) $(TEXTRC) $(SDOCRC) ; ¥
fi
$(SDOC) -format:plain $(CFLAGS) $(SOURCE).sdoc

pdf :
@if [ "$(ENABLE_DEFAULT)" = "1" ] ; then ¥
$(CP) $(PDFRC) $(SDOCRC) ; ¥
fi
$(SDOC) -format:latex2e $(CFLAGS) $(SOURCE).sdoc
$(RM) $(TMPTEX)
$(CAT) $(TEX_HEADER) > $(TMPTEX)
$(TAIL) $(SOURCE).tex >> $(TMPTEX)
$(PLATEX) $(TMPTEX)
$(PLATEX) $(TMPTEX)
$(DVIPDF) $(SOURCE).dvi

clean :
@echo "Clean up files ..."
@$(RM) $(SOURCE).html $(SOURCE).pdf $(SOURCE).tex $(SOURCE).dvi ¥
$(SOURCE).log $(SOURCE).toc $(SOURCE).out $(SOURCE).aux $(SOURCE).txt
@$(RM) $(SDOCRC)
@$(RM) $(TMPTEX)
@echo "Done."
--

ついでに .emacs.el に以下を追加して、毎回テンプレートを使うか選択できるようにしてみた。

-- .emacs.el
(require 'autoinsert)
(add-hook 'find-file-hooks 'auto-insert)
(setq auto-insert-directory "~/lib/sdoc/")
(setq auto-insert-alist
(append '(
(sdoc-mode . "template.sdoc")
) auto-insert-alist))
--

Posted: 日 - 11月 16, 2003 at 10:11 午後        


©