CXXFLAGS+=	-g -O2
BINDIR=		../bin
CC=		gcc
CPP=		g++
INCLUDES=	-I./ -Isamtools
SUBDIRS=	isolassocpp
LIBRARY=	-lm 


# small program that depends only one CPP file
SMALLPROG=	sortgtf bed2gtf pred2gtf comparegtf \
		gtf2pred bed2sam 
		#convert2BGRTP splitsamtag splitsam inst2canonical knowngeneextractorc getsambound  splitfasta filterfastareadlen 

outsmallprog=$(addprefix ${BINDIR}/,${SMALLPROG})

PROG=		$(SMALLPROG) \
		processsam 
		# predminst mergerange manalyzecvg mergeinstances runminst
		# mergejunc  #(outdated)
		# findeffectiveisoform getnisoform 

outprog=$(addprefix ${BINDIR}/,${PROG})

.PHONY: all clean all-recur


all: all-recur ${outprog}

#all-recur: 

all-recur:
		@target=`echo $@ | sed s/-recur//`; \
		wdir=`pwd`; \
		list='$(SUBDIRS)'; for subdir in $$list; do \
			cd $$subdir; \
			$(MAKE); \
			cd $$wdir; \
		done;

.SUFFIXES: .cpp .o

.cpp.o:
	${CC} -c ${CXXFLAGS} ${INCLUDES} $< -o $@

${outsmallprog}: ${BINDIR}/%: %.cpp
	${CPP} ${CXXFLAGS}  ${INCLUDES} -o $@ $<


${BINDIR}/processsam: processsam.o samio.o auxiliaryio.o cvganalysis.o instanceio.o common.o structdef.o parseopt.o readgroup.o align.o rangeset.o bedio.o
	${CPP} ${CXXFLAGS}  ${INCLUDES} -o $@ $^



clean:
	rm -rf *.o ${outprog}
