À¥Àº ÇϳªÀÇ nw ÆÄÀÏ¿¡¼ ¿©·¯°³ÀÇ ¼Ò½ºÆÄÀÏÀ» ¸¸µé¾î ³¾ ¼ö°¡ ÀÖ´Ù.
-R ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù.
¶ÇÇÑ À¥Àº ¿©·¯°³ÀÇ nw ÆÄÀÏÀ» ¸¸µé°í, °¢°¢À» tex À¸·Î º¯È¯ÇÑ ´ÙÀ½¿¡ \input À» ÀÌ¿ëÇؼ ÇϳªÀÇ 'Å«' ÅØ ÆÄÀÏÀ»
¸¸µé¾î ³¾ ¼ö ÀÖ´Ù.
ÀÌ µÎ°¡Áö¸¦ Á¾ÇÕÇÏ¸é ¾ÆÁÖÅ« ÇÁ·ÎÁ§Æ®¸¦ À¥À¸·Î ¸¸µé¾î ³¾ ¼ö°¡ ÀÖ´Ù. ±×·¯³ª ÀÌ °æ¿ì make ÆÄÀϵµ µ¿½Ã¿¡ ¸¸µé¾î¾ß ÇÑ´Ù.
´ÙÀ½¿¡ Makefile ÀÇ ¿¹¸¦ µé¾ú´Ù. make tex À» ÀÌ¿ëÇؼ ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç nw ÆÄÀÏ¿¡¼ ÅØ ¼Ò½º¿Í ¸ÅÆ®·¦(.m) À» ÀÚµ¿À¸·Î »ý¼ºÇØ ³»°í, ÀÌÈÄ¿¡ make¸í·ÉÀ» ÀÌ¿ëÇؼ pdf ¸¦ ¸¸µå´Â ±¸Á¶·Î µÇ¾î ÀÖ´Ù.
±âÁ¸ÀÇ Makefile ¿¡ ºñÇؼ ¼ÐÀÇ for ±â´ÉÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº ¿ÀºêÁ§Æ® ÆÄÀÏÀ» ¸ð¾Æ¼ ÇϳªÀÇ ½ÇÇàÆÄÀÏÀ» ¸¸µå´Â º¸ÅëÀÇ C ÇÁ·Î±×·¡¹Ö °ú´Â ´Ù¸£°Ô, ÇϳªÀÇ tex ÆÄÀÏ¿¡ ´Ù¼öÀÇ .tex ÆÄÀÏÀ» include ÇÏ´Â ±¸Á¶¸¦ ÀÌ¿ëÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.
¸¸ÀÏ, Make °íÀ¯ÀÇ ±â´ÉÀ» ÀÌ¿ëÇؼ º¯°æµÈ ÆÄÀϸ¸À» ó¸®Çϱ⠹ٶõ´Ù¸é ÀÏÀÏÀÌ abc.m : abc.nw ó·³ ¼Ò½ºÆÄÀÏÀÇ ÀÇÁ¸¼ºÀ» ±â·ÏÇØ ÁÖ¸é µÈ´Ù. ¿¹¿¡¼´Â ÀÚµ¿À¸·Î 󸮵Ǵ ¹æ¹ýÀ» »ç¿ëÇß´Ù.
SHELL=/bin/sh
NOWEAVE=noweave
NOTANGLE=notangle
NODEFS=nodefs
PDFLATEX=pdflatex
TARGET=codeanalysis
NWS = $(wildcard *.nw)
NAMES = $(NWS:.nw=)
TEXS = $(NWS:.nw=.tex)
.SUFFIXES: .nw .tex .dvi .html .pdf .m
.SECONDARY: $(TEXS) # Don't delete the tex file
.PHONY: tex
all: $(TARGET).pdf
test:
@echo $(TEXS)
pdf:
$(PDFLATEX) $(TARGET).tex
tex:
@for t in $(NAMES); do \
echo "processing $$t.nw"; \
$(NODEFS) -autodefs c $$t.nw > $$t.defs; \
$(NOWEAVE) -delay -filter btdefn -autodefs c -indexfrom $$t.defs $$t.nw > $$t.tex; \
$(NOTANGLE) -R$$t $$t.nw > $$t.m; \
done
$(TARGET).pdf : $(TARGET).tex
$(PDFLATEX) $< -o $@
.nw.tex:
$(NODEFS) -autodefs c $*.nw > $*.defs
$(NOWEAVE) -delay -filter btdefn -autodefs c -indexfrom $*.defs $*.nw > $@
sclean:
rm -f *~ *.dvi *.log *.html *.pdf *.m *.out *.defs
clean:
rm -f *~ *.dvi *.log *.html *.pdf *.m *.out *.defs *.tex *.aux