#Name of the compiler
#COMP++ = cc
COMP++ = g++
#COMP++ = /opt/experimental/bin/g++
#--------------------------------------------------------------http://www.intelart.com/-
#Name of the executable file
EXECUTABLE = MMAC
#---------------------------------------------------------------
LIBS++ = #-lg++ #-lstdc++ -lm
#-L/opt/experimental/lib
LOADLIBES = -lefence ###-lncurses
#---------------------------------------------------------------
#Flags to use during compilation
# -g is for dbx debugger or gdb on LINUX
# -ffpa use SUN floating point accelerator
# -O optimize compilation (can't use with -g at same time)
#FLAG = -g -ffpa
FLAG = -g  -O0 # -Wall -efence #-lfence -v -save -temps
#-----------------------------------------------------------
#Put header information files here if required
#These variables may be called later
HEAD_0  = MatrixCal.hpp
HEAD_1  = sysIdent.hpp
HEAD_2  = sysContr.hpp

HEAD1  = apss.h
HEAD2  = global.h

HEAD10 = FIX.hpp RLS.hpp LMS.hpp WCE.hpp QR_LMS.hpp KF.hpp IQR_RLS.hpp FQR_RLS.hpp KFA.hpp
HEAD00 = FIX.hpp
HEAD01 = RLS.hpp
HEAD02 = LMS.hpp
HEAD03 = WCE.hpp
HEAD04 = QR_LMS.hpp
HEAD05 = KF.hpp
HEAD06 = IQR_RLS.hpp
HEAD07 = FQR_RLS.hpp
HEAD08 = KFA.hpp

HEADC1 = H8_MPC.hpp


#---------------------------------------------------------------
#List of object modules:
#---------------------------------------------------------------
OBJ00 = 	main.o
       # MatrixCal.o sysIdent.o
       # RLS.o LMS.o WCE.o QR_LMS.o KF.o IQR_RLS.o FQR_RLS.o

OBJ01 = MatrixCal.o
OBJ02 = sysIdent.o 	#MatrixCal.o
OBJ03 = sysContr.o 	#MatrixCal.o  
OBJ10 = FIX.o		#MatrixCal.o sysIdent.o
OBJ11 = RLS.o 		#MatrixCal.o sysIdent.o
OBJ12 = LMS.o 		#MatrixCal.o sysIdent.o
OBJ13 = WCE.o 		#MatrixCal.o sysIdent.o
OBJ14 = QR_LMS.o 	#MatrixCal.o sysIdent.o
OBJ15 = IQR_RLS.o 	#MatrixCal.o sysIdent.o
OBJ16 = FQR_RLS.o 	#MatrixCal.o sysIdent.o
OBJ17 = KF.o 		#MatrixCal.o sysIdent.o
OBJ18 = KFA.o         	#MatrixCal.o sysIdent.o 

OBJC1 = H8_MPC.o	#MatrixCal.o sysContr.o


OBJ1 = initall.o sampling.o  control.o 

OBJ  = $(OBJ00) $(OBJ1) $(OBJ01) $(OBJ02) $(OBJ03) $(OBJ10)  $(OBJ11) $(OBJ12) $(OBJ13) \
                $(OBJ14) $(OBJ15) $(OBJ16) $(OBJ17) $(OBJ18) \
		$(OBJC1)  

#---------------------------------------------------------------
$(EXECUTABLE): $(OBJ)
	$(COMP++) $(FLAG) -o $(EXECUTABLE) $(OBJ) $(LIBS++)
#------------------------------------multiple---------------------------
#---------------------------------------------------------------
main.o          : main.cpp $(HEAD_1) $(HEAD_0) $(HEAD10)
	$(COMP++) -c $(FLAG) main.cpp

#---------------------------------------------------------------
#---------------------------------------------------------------

initall.o		: initall.cpp $(HEAD1) $(HEAD2)
	$(COMP++) -c $(FLAG) initall.cpp

sampling.o                 : sampling.cpp $(HEAD1) $(HEAD2)
	$(COMP++) -c $(FLAG) sampling.cpp

control.o                  : control.cpp $(HEAD1) $(HEAD2)
	$(COMP++) -c $(FLAG) control.cpp
#---------------------------------------------------------------
#---------------------------------------------------------------
sysIdent.o	: sysIdent.cpp $(HEAD_0) $(HEAD_1)
	$(COMP++) -c $(FLAG) sysIdent.cpp
#---------------------------------------------------------------
sysContr.o	: sysContr.cpp $(HEAD_0) $(HEAD_2)
	$(COMP++) -c $(FLAG) sysContr.cpp
#---------------------------------------------------------------

MatrixCal.o     : MatrixCal.cpp $(HEAD_0) $(HEAD_1) $(HEAD_2) $(HEAD10)
	$(COMP++) -c $(FLAG) MatrixCal.cpp
#---------------------------------------------------------------
FIX.o                     : FIX.cpp $(HEAD_0) $(HEAD_1) $(HEAD01)
	$(COMP++) -c $(FLAG) FIX.cpp
#----------------------------------------------------------------
RLS.o                     : RLS.cpp $(HEAD_0) $(HEAD_1) $(HEAD01)
	$(COMP++) -c $(FLAG) RLS.cpp
#----------------------------------------------------------------
LMS.o                     : LMS.cpp $(HEAD_0) $(HEAD_1) $(HEAD02)
	$(COMP++) -c $(FLAG) LMS.cpp
#----------------------------------------------------------------
WCE.o                     : WCE.cpp $(HEAD_0) $(HEAD_1) $(HEAD03)
	$(COMP++) -c $(FLAG) WCE.cpp
#----------------------------------------------------------------
QR_LMS.o                     : QR_LMS.cpp $(HEAD_0) $(HEAD_1) $(HEAD04)
	$(COMP++) -c $(FLAG) QR_LMS.cpp
#----------------------------------------------------------------
KF.o                     : KF.cpp $(HEAD_0) $(HEAD_1) $(HEAD05)
	$(COMP++) -c $(FLAG) KF.cpp
#-----------------------------------------------
IQR_RLS.o                     : IQR_RLS.cpp $(HEAD_0) $(HEAD_1) $(HEAD06)
	$(COMP++) -c $(FLAG) IQR_RLS.cpp
#----------------------------------------------------------------
FQR_RLS.o                     : FQR_RLS.cpp $(HEAD_0) $(HEAD_1) $(HEAD07)
	$(COMP++) -c $(FLAG) FQR_RLS.cpp
#----------------------------------------------------------------
KFA.o                     : KFA.cpp $(HEAD_0) $(HEAD_1) $(HEAD08)
	$(COMP++) -c $(FLAG) KFA.cpp
#-----------------------------------------------

#-----------------------------------------------
H8_MPC.o			: H8_MPC.cpp $(HEAD_0) $(HEAD_2) $(HEADC1)
	$(COMP++) -c $(FLAG) H8_MPC.cpp
#-----------------------------------------------

#-----------------------------------------------
clean: 




