#
# file : Makefile (UNIX)
#
#  Example of a stand-alone makefile for compiler-generated M files
#
#  Copyright 1997-2004 The MathWorks, Inc.
#  $Revision: 1.7.6.2 $  $Date: 2004/08/17 21:22:18 $
#

# Set up the ARCH variables
#
ARCH		:=		$(shell batarch)
#
# Define directories
#
MATLABROOT=/usr/local/matlab
#
# Defaults
#
MCC=$(MATLABROOT)/bin/mcc

#
# It's important that MRANK gets built before MRANKP, since MRANK has
# a dependency on MRANK.M to build MRANK.C as does MRANKP.  however,
# MRANKP doesn't build MRANK.C only MRANK does.  so it's important
# that MRANK builds first, so that MRANK.C is up to date by the time
# MRANKP builds with it
#
STAND_ALONE_TARGETS=mrank.$(ARCH) mrankp.$(ARCH) multargp.$(ARCH) hello.$(ARCH) mr.$(ARCH) matrixdriver.$(ARCH)


all: $(STAND_ALONE_TARGETS)

mrank.$(ARCH): main.m mrank.m

hello.$(ARCH): hello.m 

%.$(ARCH):
	$(MCC) -m $^ -o $@
	@rm -f *.o

mrankp.$(ARCH): mrankp.c mrank.m printmatrix.m
	$(MCC) -l -n libPkg -T link:exe $^ -o $@


multargp.$(ARCH): multargp.c multarg.m printmatrix
	$(MCC) -l -n libMultpkg -T link:exe $^ -o $@
	@rm -f *.o

matrixdriver.$(ARCH): matrixdriver.c addmatrix.m eigmatrix.m multiplymatrix.m
	$(MCC) -l -n libmatrix -T link:exe $^ -o $@
	@rm -f *.o


#mr.$(ARCH): mr.m mrank.m myph.c
#	$(MCC) -L C -W main -T link:exe $^ -o $@
#	@rm -f *.o 

clean:
	rm -f $(STAND_ALONE_TARGETS)

reallyclean:
	rm -rf $(STAND_ALONE_TARGETS)           \
              mrank.h mrank.c                   \
              main_main.c main.h main.c         \
              multarg.h multarg.c		\
	      hello.h hello.c  hello_main.c     \
	      *.xml *.ctf *_mcr *mcc_compoent_data.c \
		libPkg* libMult*
