#############################################################################
# Makefile for building: TMC
# Generated by qmake (1.04a) (Qt 3.1.1) on: Tue Mar 23 09:51:05 2004
# Project:  TMC.pro
# Template: app
# Command: $(QMAKE) -o Makefile TMC.pro
#############################################################################

####### Compiler, tools and options
#GCC_FLAG = -DGCC_3
#SYS_FLAG = -DSYS_LIN
#FORTRAN  =  g77 
#AR  = ar
#ARFLAGS = ru 
#ARC = ar
#ARCFLAGS = -crs 
#PIC_LD  = -Wl,-G,-dy,-zdefaultextract 
#LD  = g++ -g ${SYS_FLAG}
#PIC  = -fPIC 
#INSTALL  =install -m 0664 
#CPLFLAGS = -I. -fpermissive -I/usr/local/include 
#CPL = g++ -g ${GCC_FLAG} ${SYS_FLAG} 
#CC       = gcc
#CXX      = g++

#CFLAGS   = -DGCC_3 -g -pipe -Wno-deprecated
#CXXFLAGS = -DGCC_3 -g -pipe -Wno-deprecated


# use CFLAGS as no QT
CXXFLAGS = ${CFLAGS}

INCPATH  = -I./include\
	-I./src/qdos\
       	-I$(SDDAS_HOME)/include\
	-I$(CDF_HOME)/include
LINK     = g++
LIBS     = $(SUBLIBS)\
	-L/usr/X11R6/lib -lXext -lX11 -lm\
 	-L$(SDDAS_HOME)/lib 	-lPromote -ltrec_idfs -lbase_idfs -lVIDF\
	$(DBWRAPPER_LIB) -lserver -lCfg -ldB\
	-lant\
	-ldl\
	$(SQLITE3FLAG) $(MYSQLCLIENTFLAG) $(CRYPTFLAG)\
	-L./lib -lqdos -lqlapack -lqblas ${GFORT_FLAG}\
	-L$(CDF_LIB) -lcdf -lfl
AR       = ar cqs
TAR      = tar -cf
GZIP     = gzip -9f
COPY     = cp -f
COPY_FILE= $(COPY) -p
COPY_DIR = $(COPY) -pR
DEL_FILE = rm -f
SYMLINK  = ln -sf
DEL_DIR  = rmdir
MOVE     = mv -f
CHK_DIR_EXISTS= test -d
MKDIR    = mkdir -p

####### Output directory

OBJECTS_DIR = obj/

####### Files

HEADERS = include/write_data_files.h \
        include/truncated_moments_corrector.h \
        include/QTMC_idfs_utils.h \
        include/tmc_routines.h \
        include/idfs_retrieval.h \
        include/Idfs.h \
        include/qdutil_copies.h\
        include/Qpeace_err_diag.h\
	include/tmc_data.h
SOURCES = src/main_noQt.cpp \
                src/write_data_files.cpp \
                src/tmnewt.c \
                src/truncated_moments_corrector.c \
                src/QTMC_idfs_utils.c \
                src/tmc_routines.cpp \
                src/idfs_retrieval.c \
                src/Idfs.cpp \
                src/qdutil_copies.cpp\
        	src/tmc_data.cpp
OBJECTS = obj/main_noQt.o \
                obj/write_data_files.o \
                obj/tmnewt.o \
                obj/truncated_moments_corrector.o \
                obj/QTMC_idfs_utils.o \
                obj/tmc_routines.o \
                obj/idfs_retrieval.o \
                obj/Idfs.o \
                obj/qdutil_copies.o \
        	obj/tmc_data.o

DIST	   = TMC.pro
DESTDIR  = ./bin/
TARGET   = QTMC_noQt

first: all
####### Implicit rules

.SUFFIXES: .c .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: Makefile_noQt $(TARGET) 
	$(MOVE) $(TARGET) $(DESTDIR)

$(TARGET): $(OBJECTS)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)

dist: 
	@mkdir -p obj/TMC && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(DIST) obj/TMC/ && $(COPY_FILE) --parents obj/TMC/ && ( cd `dirname .obj/TMC` && $(TAR) TMC.tar TMC && $(GZIP) TMC.tar ) && $(MOVE) `dirname obj/TMC`/TMC.tar.gz . && $(DEL_FILE) -r obj/TMC

yaccclean:
lexclean:
clean: 
	-$(DEL_FILE) $(OBJECTS) 
	-$(DEL_FILE) lib/*
	-$(DEL_FILE) src/qdos/*.o
	-$(DEL_FILE) src/qdos/DCMyacc.c
	-$(DEL_FILE) src/qblas/*.o
	-$(DEL_FILE) src/qlapack/*.o
	-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) $(TARGET) $(TARGET)


FORCE:

####### Compile

obj/main_noQt.o: src/main_noQt.cpp\
		include/tmc_routines.h \
		include/QTMC_idfs_utils.h \
		include/qdutil_copies.h \
		include/idfs_retrieval.h \
		include/write_data_files.h \
		include/truncated_moments_corrector.h \
		include/Idfs.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/main_noQt.o src/main_noQt.cpp

obj/write_data_files.o: src/write_data_files.cpp include/write_data_files.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/write_data_files.o src/write_data_files.cpp

obj/tmnewt.o: src/tmnewt.c include/truncated_moments_corrector.h
	$(CC) -c $(CFLAGS) $(INCPATH) -o obj/tmnewt.o src/tmnewt.c

obj/truncated_moments_corrector.o: src/truncated_moments_corrector.c include/truncated_moments_corrector.h
	$(CC) -c $(CFLAGS) $(INCPATH) -o obj/truncated_moments_corrector.o src/truncated_moments_corrector.c

obj/QTMC_idfs_utils.o: src/QTMC_idfs_utils.c include/QTMC_idfs_utils.h
	$(CC) -c $(CFLAGS) $(INCPATH) -o obj/QTMC_idfs_utils.o src/QTMC_idfs_utils.c

obj/tmc_routines.o: src/tmc_routines.cpp include/tmc_routines.h \
		include/QTMC_idfs_utils.h \
		include/qdutil_copies.h \
		include/idfs_retrieval.h \
		include/write_data_files.h \
		include/truncated_moments_corrector.h \
		include/Idfs.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmc_routines.o src/tmc_routines.cpp
	
obj/tmc_data.o: src/tmc_data.cpp include/tmc_data.h 
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/tmc_data.o src/tmc_data.cpp


obj/idfs_retrieval.o: src/idfs_retrieval.c include/idfs_retrieval.h \
		include/QTMC_idfs_utils.h
	$(CC) -c $(CFLAGS) $(INCPATH) -o obj/idfs_retrieval.o src/idfs_retrieval.c

obj/Idfs.o: src/Idfs.cpp include/Idfs.h \
		include/QTMC_idfs_utils.h \
		include/idfs_retrieval.h \
		include/qdutil_copies.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/Idfs.o src/Idfs.cpp

obj/qdutil_copies.o: src/qdutil_copies.cpp include/qdutil_copies.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o obj/qdutil_copies.o src/qdutil_copies.cpp

qblas:
	( cd $(QTMC_HOME)/src/qblas ; $(MAKE) all)
qdos:
	( cd $(QTMC_HOME)/src/qdos ; $(MAKE) libqdos.so; mv libqdos.so ${QTMC_HOME}/lib)
	
qlapack: 
	( cd $(QTMC_HOME)/src/qlapack ; $(MAKE) all)


####### Install

install: all 

uninstall: 

