# $Id$ # This file is public domain. (Originally written by Karl Berry, 2009.) prg = epstopdf e2p = ./$(prg).pl #--debug re2p = ./r$(prg) --restricted re2p_script = ./r$(prg) default: # These are not comprehensive tests by any means. Mostly we're just # making sure we don't crash. check: check-help check-version \ check-help-r \ check-nogs \ check-restricted-gscmd \ check-gscmd check-gsopt check-gsopts \ check-filter check-filter-outfile check-write-error check-gscmd \ check-restricted-safe-in check-restricted-safe-out \ check-simple check-atend check-binary check-bin2 \ check-binhdr-lf check-binhdr-cr check-binhdr-crlf \ check-percent \ check-tn5002 #check-floral check-help: $(e2p) --help check-version: $(e2p) --version check-help-r: $(re2p_script) $(re2p_script) --help | grep restricted # should have default=true check-nogs: $(e2p) --no-gs test-simple.eps >test-simple.out # the two files should be different: cmp -s test-simple.eps test-simple.out || exit 0 $(re2p_script): ln -s $(prg).pl $@ check-restricted-gscmd: ! $(re2p) --gscmd=/bin/unsafe test-simple.eps ! $(re2p) --gscmd=unsafe test-simple.eps check-restricted-safe-in: ! $(re2p) /unsafe/in.eps check-restricted-safe-out: ! $(re2p) test-simple.eps -o /unsafe/out.eps check-filter: cat test-simple.eps | $(e2p) --filter >test-filter.pdf pdfinfo test-filter.pdf | grep "Page size:" check-filter-outfile: rm -f test-filter.pdf cat test-simple.eps | $(e2p) --filter --outfile=test-filter.pdf pdfinfo test-filter.pdf | grep "Page size:" # rm -f test-filter.pdf cat test-simple.eps | $(e2p) --outfile=test-filter.pdf --filter pdfinfo test-filter.pdf | grep "Page size:" check-write-error: -$(e2p) test-simple.eps --outfile=/dev/full check-gscmd: -$(e2p) --gscmd=true test-simple.eps -$(e2p) --gscmd='foo bar' test-simple.eps # fails check-gsopt: -$(e2p) --gscmd=echo --gsopt=foo --gsopt=bar test-simple.eps -$(e2p) --restricted --gsopt=bar test-simple.eps # fails check-gsopts: -$(e2p) --gscmd=echo --gsopts='foo bar' test-simple.eps -$(e2p) --restricted --gsopts=bar test-simple.eps # fails check-simple: $(MAKE) file=test-simple check1 check-atend: $(MAKE) file=test-atend check1 check-binary: $(MAKE) file=test-binary check1 check-bin2: $(MAKE) file=test-bin2 check1 check-binhdr-lf: $(MAKE) file=test-binhdr-lf check1 check-binhdr-cr: $(MAKE) file=test-binhdr-cr check1 check-binhdr-crlf: $(MAKE) file=test-binhdr-crlf check1 check-percent: $(MAKE) file=test-per%cent check1 test -s test-per%cent.pdf check-tn5002: $(MAKE) file=test-tn5002-cr check1 $(MAKE) file=test-tn5002-crlf check1 $(MAKE) file=test-tn5002-lf check1 # complicated, from http://www.vectorfloral.com/floral-swirly-flowers-with-butterflies-vector-graphic-174.html # another, even bigger, is at http://www.backgroundvector.com/abstract-colorful-background-vector-image-94.html # both are CC-BY 3.0. check-floral: $(MAKE) file=test-floral check1 check1: $(e2p) $(file).eps pdfinfo $(file).pdf | grep "Page size" # put tar contents in a directory for CTAN. dist: $(prg).tar.gz $(prg).html .PHONY: dist $(prg).tar.gz: README $(prg).pl $(prg).1 r$(prg).1 $(prg).man1.pdf rm -rf $(prg); mkdir $(prg) cp $^ $(prg) tar cvzf $(prg).tar.gz $(prg) rm -rf $(prg) # upload .tar.gz to ctan.org/upload, mv .html ~www/$(prg). groff = groff groff_opts = -man -t pspdf = ps2pdf -sPAPERSIZE=a4 $(prg).man1.pdf: $(prg).1 $(groff) $(groff_opts) $< | $(pspdf) - $@ $(prg).html: $(prg).1 $(groff) $(groff_opts) -Thtml $< >$@ show-man: man ./$(prg).1 | col -b # $(groff) $(groff_opts) -Tascii -M. -mraggedright -P-cbouU $(prg).1 # -P-c... avoids ANSI color sequences and backspaces in the output.