1# ${LOCALBASE}/include must come after bundled dirs 2INCLUDES = -I. -Ilib -Ilib/Rmath -Ilib/tclap -Ilib/pcre2 -I${LOCALBASE}/include 3CXXFLAGS ?= -pipe -std=c++0x $(OPTFLAG) $(INCLUDES) -D__STDC_LIMIT_MACROS 4CXXFLAGS += -std=c++0x $(INCLUDES) -D__STDC_LIMIT_MACROS 5CXX ?= g++ 6 7SOURCESONLY = 8 9SOURCES = ahmm\ 10 align\ 11 allele\ 12 annotate_1000g\ 13 annotate_dbsnp_rsid\ 14 annotate_indels\ 15 annotate_indels2\ 16 annotate_regions\ 17 annotate_variants\ 18 annotate_vntrs\ 19 augmented_bam_record\ 20 bcf_genotyping_buffered_reader\ 21 bcf_single_genotyping_buffered_reader\ 22 bam_ordered_reader\ 23 bcf_ordered_reader\ 24 bcf_ordered_writer\ 25 bcf_synced_reader\ 26 bed\ 27 candidate_motif_picker\ 28 candidate_region_extractor\ 29 cat\ 30 chmm\ 31 complex_genotyping_record\ 32 compute_concordance\ 33 compute_features\ 34 compute_features2\ 35 compute_rl_dist\ 36 config\ 37 consolidate_multiallelics\ 38 consolidate_vntrs\ 39 consolidate\ 40 construct_probes\ 41 decompose\ 42 decompose2\ 43 decompose_blocksub\ 44 discover\ 45 duplicate\ 46 estimate\ 47 estimator\ 48 extract_vntrs\ 49 filter\ 50 filter_overlap\ 51 flank_detector\ 52 fuzzy_aligner\ 53 fuzzy_partition\ 54 gencode\ 55 genome_interval\ 56 genotype\ 57 genotyping_record\ 58 ghmm\ 59 hts_utils\ 60 hfilter\ 61 indel_annotator\ 62 indel_genotyping_record\ 63 index\ 64 info2tab\ 65 interval_tree\ 66 interval\ 67 lfhmm\ 68 lhmm\ 69 lhmm1\ 70 liftover\ 71 log_tool\ 72 merge\ 73 merge_candidate_variants\ 74 merge_genotypes\ 75 milk_filter\ 76 motif_tree\ 77 motif_map\ 78 multi_partition\ 79 multiallelics_consolidator\ 80 needle\ 81 normalize\ 82 nuclear_pedigree\ 83 ordered_bcf_overlap_matcher\ 84 ordered_region_overlap_matcher\ 85 partition\ 86 paste\ 87 paste_and_compute_features_sequential\ 88 paste_genotypes\ 89 pedigree\ 90 peek\ 91 pileup\ 92 pregex\ 93 profile_afs\ 94 profile_chm1\ 95 profile_chrom\ 96 profile_fic_hwe\ 97 profile_hwe\ 98 profile_indels\ 99 profile_len\ 100 profile_mendelian\ 101 profile_na12878\ 102 profile_snps\ 103 profile_vntrs\ 104 program\ 105 read_filter\ 106 reference_sequence\ 107 rfhmm\ 108 rfhmm_x\ 109 rminfo\ 110 seq\ 111 set_ref\ 112 snp_genotyping_record\ 113 sort\ 114 subset\ 115 sv_tree\ 116 svm_train\ 117 svm_predict\ 118 tbx_ordered_reader\ 119 test\ 120 trio\ 121 union_variants\ 122 uniq\ 123 utils\ 124 validate\ 125 variant\ 126 variant_manip\ 127 variant_filter\ 128 view\ 129 vntr\ 130 vntr_annotator\ 131 vntr_consolidator\ 132 vntr_extractor\ 133 vntr_genotyping_record\ 134 vntr_tree\ 135 vntrize\ 136 wdp_ahmm\ 137 138SOURCESONLY = main.cpp 139 140TARGET = vt 141TOOLSRC = $(SOURCES:=.cpp) $(SOURCESONLY) 142TOOLOBJ = $(TOOLSRC:.cpp=.o) 143LIBDEFLATE = -ldeflate 144LIBHTS = -lhts 145LIBRMATH = lib/Rmath/libRmath.a 146LIBPCRE2 = lib/pcre2/libpcre2.a 147LIBSVM = -lsvm 148 149all : $(TARGET) 150 151${LIBDEFLATE} : 152 cd lib/libdeflate; $(MAKE) || exit 1; 153 154${LIBHTS} : ${LIBDEFLATE} 155 export LDFLAGS=-L${PWD}/lib/libdeflate; export CPPFLAGS=-I${PWD}/lib/libdeflate; cd lib/htslib; autoheader; autoconf; ./configure; $(MAKE) libhts.a || exit 1; 156 157${LIBRMATH} : 158 cd lib/Rmath; $(MAKE) libRmath.a || exit 1; 159 160${LIBPCRE2} : 161 cd lib/pcre2; $(MAKE) libpcre2.a || exit 1; 162 163${LIBSVM} : 164 cd lib/libsvm; $(MAKE) libsvm.a || exit 1; 165 166version : 167 git rev-parse HEAD | cut -c 1-8 | awk '{print "#define VERSION \"0.5772-"$$0"\""}' > version.h; 168 169$(TARGET) : ${LIBRMATH} ${LIBPCRE2} $(TOOLOBJ) 170 $(CXX) $(CXXFLAGS) -o $@ $(TOOLOBJ) -L${LOCALBASE}/lib $(LIBHTS) $(LIBRMATH) ${LIBPCRE2} ${LIBDEFLATE} -lz -lpthread -lbz2 -llzma -lcurl -lcrypto 171 172$(TOOLOBJ): $(HEADERSONLY) 173 174.cpp.o : 175 $(CXX) $(CXXFLAGS) -o $@ -c $*.cpp 176 177.PHONY: clean cleanvt test version 178 179clean : 180 cd lib/libdeflate; $(MAKE) clean 181 cd lib/htslib; $(MAKE) clean 182 cd lib/Rmath; $(MAKE) clean 183 cd lib/pcre2; $(MAKE) clean 184 cd lib/libsvm; $(MAKE) clean 185 -rm -rf $(TARGET) $(TOOLOBJ) 186 187cleanvt : 188 -rm -rf $(TARGET) $(TOOLOBJ) 189 190test : vt 191 test/test.sh 192 193debug : vt 194 test/test.sh debug 195