151 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			151 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) |