150 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # Mf-stex expects to be included in a make file that defines:
 | |
| #  Scheme   the path of the Chez Scheme executable
 | |
| #  STEXLIB  the path to the stex library (the library containing this file)
 | |
| 
 | |
| m := $(shell echo '(machine-type)' | $(Scheme) -q)
 | |
| 
 | |
| TEXINPUTS:=.:$(STEXLIB)/inputs:
 | |
| export TEXINPUTS
 | |
|  
 | |
| ifeq ($(wildcard $(STEXLIB)/$m/scheme-prep),)
 | |
|   Sprep = $(Scheme) --libdirs "$(STEXLIB)/src" --program $(STEXLIB)/src/scheme-prep.ss
 | |
| else
 | |
|   Sprep = $(STEXLIB)/$m/scheme-prep
 | |
| endif
 | |
| 
 | |
| ifeq ($(wildcard $(STEXLIB)/$m/html-prep),)
 | |
|   Hprep = $(Scheme) --libdirs "$(STEXLIB)/src" --program $(STEXLIB)/src/html-prep.ss
 | |
| else
 | |
|   Hprep = $(STEXLIB)/$m/html-prep
 | |
| endif
 | |
| 
 | |
| ifeq ($(wildcard $(STEXLIB)/$m/fixbibtex),)
 | |
|   fixbibtex = $(Scheme) --libdirs "$(STEXLIB)/src" --program $(STEXLIB)/src/fixbibtex.ss
 | |
| else
 | |
|   fixbibtex = $(STEXLIB)/$m/fixbibtex
 | |
| endif
 | |
| 
 | |
| mathdir=math/$(x)
 | |
| mathfiles=$(mathdir)/mathfiles
 | |
| 
 | |
| # solaris /bin/sh doesn't support '!' in test
 | |
| SHELL=bash
 | |
| 
 | |
| stexsrc = $(x).stex
 | |
| texsrc = $(x).tex
 | |
| spellobj = $(x).spell
 | |
| 
 | |
| .SUFFIXES:
 | |
| .SUFFIXES: .stex .tex .spell .fig .ps .png .pdf .eps
 | |
| .stex.tex:
 | |
| 	$(Sprep) $(stexmacrofiles) $*
 | |
| 	chmod -w $*.tex
 | |
| .tex.spell:
 | |
| 	latexspell $*.tex
 | |
| .fig.ps:
 | |
| 	fig2dev -Leps $*.fig $*.ps
 | |
| .fig.png:
 | |
| 	fig2dev -Lppm $*.fig | pnmcrop | pnmtopng -transparent white > $*.png
 | |
| 	chmod go=r $*.png
 | |
| .ps.png:
 | |
| 	echo | gs -q -dNOPAUSE -dSAFER -sDEVICE=ppmraw -sOutputFile=- -r90x90 $*.ps | pnmcrop | pnmtopng -transparent white > $*.png
 | |
| # need to generate eps first to compute bounding box
 | |
| # need --gs on my machine at home or it fails to find bounding box
 | |
| .ps.eps:
 | |
| 	ps2epsi $*.ps $*.eps
 | |
| .eps.pdf:
 | |
| 	epstopdf --gs $*.eps
 | |
| .fig.pdf:
 | |
| 	fig2dev -Leps $*.fig | epstopdf --filter > $*.pdf
 | |
| 
 | |
| ifeq "$(latex)" "latex"
 | |
| doitformebaby: $(x).ps $(x).html
 | |
| 
 | |
| $(x).ps: $(x).thirdrun
 | |
| 	dvips -o $(x).ps $(x).dvi
 | |
| 
 | |
| $(x).pdf: $(x).ps
 | |
| 	ps2pdf $*.ps $*.pdf
 | |
| 	chmod 644 $*.pdf
 | |
| else
 | |
| doitformebaby: $(x).pdf $(x).html
 | |
| 
 | |
| $(x).pdf: $(x).thirdrun
 | |
| 	chmod 644 $(x).pdf
 | |
| endif
 | |
| 
 | |
| $(x).dvi: $(x).thirdrun
 | |
| 
 | |
| $(x).thirdrun: $(x).secondrun
 | |
| ifdef index
 | |
| 	makeindex $(x)
 | |
| endif
 | |
| 	$(latex) $(x)
 | |
| 	touch $(x).thirdrun
 | |
| 
 | |
| $(x).secondrun: $(x).firstrun $(bib)
 | |
| ifneq ($(strip $(bib)),)
 | |
| 	bibtex $(x)
 | |
| 	$(fixbibtex) $(x).bbl
 | |
| endif
 | |
| ifdef index
 | |
| 	makeindex $(x)
 | |
| endif
 | |
| 	$(latex) $(x)
 | |
| 	touch $(x).secondrun
 | |
| 
 | |
| $(x).firstrun: $(texsrc)
 | |
| 	touch $(x).htoc
 | |
| 	$(latex) $(x)
 | |
| 	touch $(x).firstrun
 | |
| 
 | |
| all.tex: $(texsrc)
 | |
| 
 | |
| $(x).html: $(x).mathrun
 | |
| 
 | |
| $(x).mathrun: gifs $(mathfiles)
 | |
| 	@(cd $(mathdir); make)
 | |
| 	touch $(x).mathrun
 | |
| 
 | |
| gifs:
 | |
| 	(cd $(STEXLIB); tar -cf - gifs) | tar -xpf -
 | |
| 
 | |
| math:
 | |
| 	(cd $(STEXLIB); tar -cf - math) | tar -xpf -
 | |
| 
 | |
| $(mathfiles): $(x).hthirdrun $(figps)
 | |
| 	echo -n gifs= > $(mathfiles)
 | |
| 	(cd $(mathdir); echo *.tex | sed -e "s/\.tex/.gif/g") >> $(mathfiles)
 | |
| 
 | |
| $(x).hthirdrun: $(x).hsecondrun
 | |
| 	$(Hprep) --mathdir $(mathdir) $(x)
 | |
| 	chmod 444 *.html
 | |
| 	touch $(x).hthirdrun
 | |
| 
 | |
| $(x).hsecondrun: $(x).hfirstrun
 | |
| 	$(Hprep) --mathdir $(mathdir) $(x)
 | |
| 	chmod 444 *.html
 | |
| 	touch $(x).hsecondrun
 | |
| 
 | |
| $(x).hfirstrun: math $(x).thirdrun
 | |
| 	(if [ ! -e $(mathdir) ] ; then mkdir -p -m u=rwx,g=srx,o=rx $(mathdir); ln -s ../Makefile ../mathmacros $(mathdir); fi)
 | |
| 	$(Hprep) --mathdir $(mathdir) $(x)
 | |
| 	touch $(x).hfirstrun
 | |
| 
 | |
| spell: $(spellobj)
 | |
| 
 | |
| $(x).spell: $(x).bbl $(x).tex
 | |
| 	latexspell $(x).bbl
 | |
| 	latexspell $(x).tex
 | |
| 
 | |
| clean: $(x).clean
 | |
| 	-/bin/rm -f *.log *.dvi *.aux *.out *.toc *.tmp *.idx *.ilg *.ind *.blg *.bbl *.rfm *.sfm *.firstrun *.secondrun *.thirdrun
 | |
| 	-/bin/rm -f *.haux *.htoc *.hidx *.hfirstrun *.hsecondrun *.hthirdrun *.mathrun
 | |
| 	-/bin/rm -f *.tex
 | |
| 
 | |
| reallyclean: clean $(x).reallyclean
 | |
| 	-/bin/rm -f *.html *.ps *.pdf *.png
 | |
| 
 | |
| reallyreallyclean: reallyclean $(x).reallyreallyclean
 | |
| 	-/bin/rm -rf $(mathdir)
 | 
