diff options
Diffstat (limited to 'matlab_eps.mk')
-rw-r--r-- | matlab_eps.mk | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/matlab_eps.mk b/matlab_eps.mk new file mode 100644 index 0000000..d3d7ae8 --- /dev/null +++ b/matlab_eps.mk @@ -0,0 +1,43 @@ +# -*- make -*- + +CLEAN_TARGETS += clean_matlab_eps_targets +REAL_CLEAN_TARGETS += real_clean_matlab_eps_targets + +MATLAB ?= matlab -nodesktop -nojvm -nosplash +MATLAB_EPS_PRINT_strt = print('-depsc', +MATLAB_EPS_PRINT_stop = ); +MATLAB_quit = quit + + +matlab_sources = $(wildcard plot_*.m) +matlab_eps_targets = $(matlab_sources:plot_%.m=%.eps) +matlab_pdf_targets = $(matlab_eps_targets:%.eps=$(pics_destdir)/%.pdf) + + +copy_matlab_pdf_targets: dest_dir_matlab $(matlab_pdf_targets) + +$(matlab_eps_targets): %.eps : plot_%.m + tmp=`mktemp`; \ + cat $< > $${tmp}; \ + echo "$(MATLAB_EPS_PRINT_strt)'$@'$(MATLAB_EPS_PRINT_stop)" >> $${tmp}; \ + echo "$(MATLAB_quit)" >> $${tmp}; \ + cat $${tmp} | $(MATLAB); \ + rm -f $${tmp} + +$(matlab_pdf_targets): $(pics_destdir)/%.pdf : %.eps + epstopdf --autorotate=All --outfile=$@ $< + +clean_matlab_eps_targets: +ifneq ($(strip $(matlab_eps_targets)),) + rm -f $(matlab_eps_targets) +endif + +real_clean_matlab_eps_targets: clean_matlab_eps_targets +ifneq ($(strip $(matlab_pdf_targets)),) + rm -f $(matlab_pdf_targets) +endif + +dest_dir_matlab: + $(INSTALL) -d -m 0755 $(pics_destdir) + +.INTERMEDIATE: $(matlab_eps_targets) |