CXX = g++ -ggdb  -O3 -c -Ihqp
CC = gcc -O0 -ggdb -c -W -Wall -fomit-frame-pointer  -pipe -fno-strength-reduce  -D_GNU_SOURCE -I/usr/X11R6/include
#LD = gcc -O3 -ggdb -W -Wall -lm -lX11 -L/usr/X11R6/lib			
LD = g++ -O0 -ggdb -W -Wall -lm -lX11 -L/usr/X11R6/lib




HQP =	hqp/Hqp_HL.o	\
	hqp/Hqp_HL_BFGS.o	\
	hqp/Hqp_IpMatrix.o	\
	hqp/Hqp_IpRedSpBKP.o	\
	hqp/Hqp_IpsFranke.o	\
	hqp/Hqp_Program.o	\
	hqp/Hqp_Solver.o	\
	hqp/Hqp_SqpProgram.o	\
	hqp/Hqp_SqpSolver.o	\
	hqp/Hqp_SqpPowell.o	\
	hqp/Meschach.o		\
	hqp/Prg_Simple.o	\
	hqp/meschext_ea.o	\
	hqp/spBKP.o		\
	hqp/sprcm.o

XMERGE = \
	gui.o	\
	map.o	\
	solve.o	\
	file.o	\
	main.o	\
	imapx1.o	\
	imapx2.o	\
	imapx3.o	\
	imapx4.o	\
	imapx5.o	\
	imapx6.o	


MESCHACH = \
	hqp/meschach/ivecop.o	\
	hqp/meschach/err.o	\
	hqp/meschach/meminfo.o 	\
	hqp/meschach/matrixio.o \
        hqp/meschach/memory.o	\
	hqp/meschach/init.o	\
	hqp/meschach/bdfactor.o \
	hqp/meschach/iter0.o	\
	hqp/meschach/sprow.o	\
	hqp/meschach/sparse.o	\
	hqp/meschach/zmemory.o	\
	hqp/meschach/machine.o	\
	hqp/meschach/pxop.o	\
	hqp/meschach/copy.o	\
	hqp/meschach/zmachine.o \
	hqp/meschach/memstat.o	\
	hqp/meschach/norm.o	\
	hqp/meschach/vecop.o	\
	hqp/meschach/matop.o	\
	hqp/meschach/zcopy.o	\
	hqp/meschach/symmeig.o	\
	hqp/meschach/givens.o	\
	hqp/meschach/hessen.o	\
	hqp/meschach/submat.o	\
	hqp/meschach/hsehldr.o	\
	hqp/meschach/sparseio.o \
	hqp/meschach/chfactor.o \
	hqp/meschach/solve.o	\
	hqp/meschach/bkpfacto.o \
	hqp/meschach/lufactor.o	\
	hqp/meschach/qrfactor.o






all: 	xmerge

xmerge: xmerge.h hqpo meschach $(XMERGE)
	$(LD) -o xmerge $(XMERGE) $(MESCHACH) $(HQP)

clean: 
	rm -f *.o hqp/*.o hqp/*~ hqp/meschach/*.o hqp/meschach/*~ *~ xmerge core

clean0: 
	rm -f *.o *~ xmerge core


imapx1.o: imapx.c xmerge.h
	$(CC)  -DDEPTH16 imapx.c -o imapx1.o

imapx2.o: imapx.c xmerge.h
	$(CC)  -DDEPTH24 imapx.c -o imapx2.o

imapx3.o: imapx.c xmerge.h
	$(CC)  -DDEPTH32 imapx.c -o imapx3.o

imapx4.o: imapx.c xmerge.h
	$(CC)  -DDEPTH16 -DBGR imapx.c -o imapx4.o

imapx5.o: imapx.c xmerge.h
	$(CC)  -DDEPTH24 -DBGR imapx.c -o imapx5.o

imapx6.o: imapx.c xmerge.h
	$(CC)  -DDEPTH32 -DBGR imapx.c -o imapx6.o






hqpo: 
	cd hqp && $(MAKE)

meschach: 
	cd hqp/meschach && $(MAKE) part1 part2 part3 zpart1 
	


