I thought a Makefile was just executing the stated shell commands, but things seem not that simple : sample.m is a minimal matlab program that displays a word on screen. When launched from a Makefile, it does not behave the same as when launched from the shell...
From the shell
alex:~$ matlab -nosplash -nodisplay -r "sample"
-> Displays the word correctly
From a Makefile
all :
matlab -nosplash -nodisplay -r "sample"
alex:~$ make
-> Displays the word with a blue bounding box
How can it be different ? I'm using Matlab 2010a on a Ubuntu 10.04 machine. No arguments are passed to the sample.m script.
Did you make sure you quit Matlab after running the script?
The Matlab console will linger in memory, invisible when run from make, and some resources will remain locked.
try this in your Makefile:
matlab -nosplash -nodisplay -r "sample; exit"
I tested sample.m and it works here.