dcdflib_SRC = dcdflib/
dcdflib_OBJS = $(dcdflib_SRC)dcdflib.o   $(dcdflib_SRC)ipmpar.o

gsl_SRC = gsl/
gsl_OBJS = $(gsl_SRC)hypergeometric.o  $(gsl_SRC)hyperg.o  $(gsl_SRC)dens.o  $(gsl_SRC)raw.o  $(gsl_SRC)bd0.o  $(gsl_SRC)stirlerr.o

exactMW_SRC = exactmw/
exactMW_OBJ = $(exactMW_SRC)exactMW.o

IMP_OBJS = $(dcdflib_OBJS)  $(gsl_OBJS)  $(exactMW_OBJ)

MY_OBJS = main.o   data_interface.o   mc_sets.o   motif_scan.o    pwms.o   tests.o   diff_tests.o   markov.o   misc_functions.o   my_types.o   sitePrtctdBtstrp.o  rand.o sequenceResample.o


CC  = gcc
OPT_CFLAGS = -O3 
CFLAGS =  $(OPT_CFLAGS) # or: "export CFLAGS=-g"  & "make -e ddd"
LIBS = -lm

DEBUG_EXE = debug.ukx

##################

sadmama: $(MY_OBJS) $(IMP_OBJS)
	g++ -o sadmama.ukx $(MY_OBJS) $(IMP_OBJS) $(LIBS)

ddd:  $(DEBUG_EXE)
	rm -f $(IMP_OBJS) \
	rm -f $(MY_OBJS)  \

$(DEBUG_EXE): $(MY_OBJS) $(IMP_OBJS)
	g++ -g -o $(DEBUG_EXE) $(MY_OBJS) $(IMP_OBJS) $(LIBS)

clean:
	rm -f $(MY_OBJS) $(IMP_OBJS) sadmama.ukx $(DEBUG_EXE)


################

Dependencies:
	-$(CC) $(CFLAGS) -MM *.c  > Dependencies

include Dependencies

#################

.c.o:
	$(CC) $(CFLAGS) -c $< -o $*.o

$(exactMW_SRC)exactMW.o: $(exactMW_SRC)main.cpp $(exactMW_SRC)utils.h $(exactMW_SRC)extended_exponent.h $(exactMW_SRC)main.h
	g++ -c $(exactMW_SRC)main.cpp -o $(exactMW_SRC)exactMW.o
