1## This is part of the GNU Octave Interval Package. 2## Copyright 2015-2017 Oliver Heimlich. 3## See the file COPYING for copying conditions. 4 5SHELL = /bin/sh 6M_IMAGE = $(wildcard image/*.m) $(patsubst %.m.texinfo,%.m,$(wildcard image/*.m.texinfo)) 7IMAGE_OBJ = $(patsubst %,%.png,$(M_IMAGE)) 8OBJ = manual.html manual.pdf $(IMAGE_OBJ) 9MAKEINFO ?= makeinfo 10VERSION ?= $(shell grep "^Version: " ../packinfo/DESCRIPTION ../DESCRIPTION | head -1 | cut -f2 -d" ") 11OCTAVE ?= octave 12 13.PHONY: all clean images 14 15all: $(OBJ) 16 17images: $(IMAGE_OBJ) 18 19manual.html: manual.texinfo $(wildcard chapter/*) license/gpl-3.0.texi $(wildcard image/*.texinfo) $(IMAGE_OBJ) 20 @echo " [MAKEINFO --html] $<" 21 @$(MAKEINFO) -D 'version $(VERSION)' --html --no-split --css-include manual.css "$<" 22 23manual.pdf: manual.texinfo $(wildcard chapter/*) license/gpl-3.0.texi $(wildcard image/*.texinfo) $(wildcard image/*.pdf) $(IMAGE_OBJ) 24 @echo " [MAKEINFO --pdf] $<" 25 @$(MAKEINFO) --Xopt=--texinfo='@set version $(VERSION)' --pdf "$<" 26 27image/%.m.png: image/%.m 28 @echo " [OCTAVE] $<" 29 @$(OCTAVE) --no-history \ 30 --eval "pkg load interval;" \ 31 --eval "set (0, 'defaultfigurevisible', 'off');" \ 32 --eval "source ('$<');" \ 33 --eval "print (gcf, '$@');" 34 @# The image size is too large for inclusion in the pdf, 35 @# thus we increase the resolution from 150 to 250 dpi. 36 @echo " [IMAGEMAGICK] $@" 37 @convert -density 98.425 -units PixelsPerCentimeter "$@" "$@" 38 39image/%.m: image/%.m.texinfo 40 @echo " [MAKEINFO --plaintext] $<" 41 @$(MAKEINFO) -D m-file --plaintext "$<" > "$@" 42 43clean: 44 $(RM) $(OBJ) 45 $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr 46