#
# Copyright (c) 2006-2015 Gordon Gremme <gordon@gremme.org>
# Copyright (c) 2006-2008 Center for Bioinformatics, University of Hamburg
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
INCLUDEOPT:=-I$(CURDIR)/../genometools/src \
-I$(CURDIR)/../genometools/src/external/zlib-1.2.8 \
-I$(CURDIR)/../genometools/src/external/bzip2-1.0.6 \
-I$(CURDIR)/../genometools/src/external/expat-2.0.1/lib \
-I$(CURDIR)/../genometools/src/external/lua-5.1.5/src \
-I$(CURDIR)/src -I$(CURDIR)/obj \
# these variables are exported by the configuration script
CC:=gcc
CXX:=g++
EXP_CFLAGS:=$(CFLAGS)
EXP_CXXFLAGS:=$(CXXFLAGS)
EXP_CPPFLAGS:=$(CPPFLAGS)
EXP_LDLIBS:=$(LIBS) -lm
ifneq ($(fpic),no)
FPIC:=-fPIC
endif
# ...while those starting with GTH_ are for internal purposes only
GTH_CFLAGS:=-g -Wall -Wunused-parameter -pipe $(FPIC) -Wpointer-arith -fno-stack-protector -Wno-unknown-pragmas
# mkvtree needs -DWITHLCP
# rnv needs -DUNISTD_H="<unistd.h>" -DEXPAT_H="<expat.h>" -DRNV_VERSION="\"1.7.8\""
EXT_FLAGS:= -DWITHLCP -DUNISTD_H="<unistd.h>" -DEXPAT_H="<expat.h>" \
-DRNV_VERSION=\"1.7.8\"
EXP_CPPFLAGS+=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(EXT_FLAGS)
GTH_CPPFLAGS:=$(INCLUDEOPT) -U_FORTIFY_SOURCE
GTH_CXXFLAGS:=-g -pipe
GTH_LDFLAGS:=-Llib
STEST_FLAGS:=
BUILDSTAMP:=$(shell date +'"%Y-%m-%d %H:%M:%S"')
# try to set RANLIB automatically
SYSTEM:=$(shell uname -s)
MACHINE:=$(shell uname -m)
ifeq ($(SYSTEM),Darwin)
RANLIB:=ranlib
SHARED:=-dynamiclib -undefined dynamic_lookup
SHARED_OBJ_NAME_EXT:=.dylib
ifeq ($(universal),yes)
MACHINE:="Universal_Binary"
GTH_CFLAGS+=-arch i386 -arch ppc -arch_errors_fatal
GTH_LDFLAGS+=-arch i386 -arch ppc -arch_errors_fatal
endif
ifeq ($(ppc),yes)
MACHINE:="Power_Macintosh"
GTH_CFLAGS+=-arch ppc -arch_errors_fatal
GTH_LDFLAGS+=-arch ppc -arch_errors_fatal
endif
else
SHARED_OBJ_NAME_EXT:=.so
SHARED:=-shared
endif
ifeq ($(SYSTEM),Linux)
ifneq ($(mingw),yes)
EXP_LDLIBS+=-ldl -lpthread
endif
endif
ifeq ($(SYSTEM),Windows)
EXP_LDLIBS+=-liphlpapi
endif
ifeq ($(wrapmemcpy),yes)
GTH_LDFLAGS+=-Wl,--wrap=memcpy
endif
ifneq ($(SYSTEM),Darwin)
ifneq ($(MACHINE),ARMv6_hf)
GTH_CFLAGS+=-Wno-error=misleading-indentation
endif
endif
# system specific stuff (concerning 64bit compilation)
ifeq ($(SYSTEM),Darwin)
ifeq ($(64bit),yes)
m64=yes
else
m32=yes
endif
endif
ifeq ($(64bit),yes)
ifneq ($(MACHINE),x86_64)
m64=yes
endif
else
ifeq ($(MACHINE),x86_64)
m32=yes
endif
endif
ifeq ($(64bit),yes)
BIT=64bit
else
BIT=32bit
endif
ifeq ($(m32),yes)
GTH_CFLAGS += -m32
GTH_LDFLAGS += -m32
endif
ifeq ($(m64),yes)
GTH_CFLAGS += -m64
GTH_LDFLAGS += -m64
endif
# libraries for which we build replacements (that also appear in dependencies)
#EXP_LDLIBS+=-lz -lbz2 -lm -ldl
#OVERRIDELIBS:=../genometools/lib/libbz2.a
# compiled executables
GTMAIN_SRC:=src/gt.c src/gtr.c src/gtt.c src/interactive.c
GTMAIN_OBJ:=$(GTMAIN_SRC:%.c=obj/%.o)
GTMAIN_DEP:=$(GTMAIN_SRC:%.c=obj/%.d)
VSTREEDIR:=../vstree/src
GTHLIBS:=$(VSTREEDIR)/lib/$(CONFIGGUESS)/$(BIT)/libvmatch.a\
$(VSTREEDIR)/lib/$(CONFIGGUESS)/$(BIT)/libvmengine.a\
$(VSTREEDIR)/lib/$(CONFIGGUESS)/$(BIT)/libmkvtree.a\
$(VSTREEDIR)/lib/$(CONFIGGUESS)/$(BIT)/libkurtz.a\
$(VSTREEDIR)/lib/$(CONFIGGUESS)/$(BIT)/libkurtz-basic.a
GTH_CPPFLAGS+=-I$(CURDIR)/$(VSTREEDIR)/include \
-I$(CURDIR)/$(VSTREEDIR)/Vmatch \
ifneq ($(licensemanager),no)
GTH_CPPFLAGS += -I../licensemanager/src -I../licensemanager/zlm
GTHLIBS += $(CURDIR)/../licensemanager/lib/$(BIT)/liblicensemanager.a
else
GTH_CPPFLAGS += -DNOLICENSEMANAGER
endif
SERVER=gordon@genomethreader.org
WWWBASEDIR=/var/www/servers
# process arguments
ifeq ($(assert),no)
EXP_CPPFLAGS += -DNDEBUG
endif
ifneq ($(errorcheck),no)
GTH_CFLAGS += -Werror
endif
ifneq ($(opt),no)
GTH_CFLAGS += -O3
GTH_CXXFLAGS += -O3
endif
ifeq ($(prof),yes)
GTH_CFLAGS += -pg
GTH_LDFLAGS += -pg
endif
ifdef gthtestdata
STEST_FLAGS += -gthtestdata $(gthtestdata)
endif
ifeq ($(memcheck),yes)
STEST_FLAGS += -memcheck
endif
RNV_DIR:=src/external/rnv-1.7.10
LIBRNV_SRC:=$(RNV_DIR)/rn.c $(RNV_DIR)/rnc.c $(RNV_DIR)/rnd.c $(RNV_DIR)/rnl.c \
$(RNV_DIR)/rnv.c $(RNV_DIR)/rnx.c $(RNV_DIR)/drv.c \
$(RNV_DIR)/ary.c $(RNV_DIR)/xsd.c $(RNV_DIR)/xsd_tm.c \
$(RNV_DIR)/dxl.c $(RNV_DIR)/dsl.c $(RNV_DIR)/sc.c $(RNV_DIR)/u.c \
$(RNV_DIR)/ht.c $(RNV_DIR)/er.c $(RNV_DIR)/xmlc.c $(RNV_DIR)/s.c \
$(RNV_DIR)/m.c $(RNV_DIR)/rx.c
LIBRNV_OBJ:=$(LIBRNV_SRC:%.c=obj/%.o)
LIBRNV_DEP:=$(LIBRNV_SRC:%.c=obj/%.d)
RNVMAIN_SRC:=$(RNV_DIR)/xcl.c
RNVMAIN_OBJ:=$(RNVMAIN_SRC:%.c=obj/%.o)
RNVMAIN_DEP:=$(RNVMAIN_SRC:%.c=obj/%.d)
ifeq ($(wrapmemcpy),yes)
RNVMAIN_OBJ+=../genometools/obj/src/memcpy.o
endif
LIBGENOMETHREADER_DIRS:= src/libgenomethreader src/gth
# the GenomeThreader library
LIBGENOMETHREADER_SRC:=$(foreach DIR,$(LIBGENOMETHREADER_DIRS),$(wildcard $(DIR)/*.c))
LIBGENOMETHREADER_OBJ:=$(LIBGENOMETHREADER_SRC:%.c=obj/%.o)
LIBGENOMETHREADER_DEP:=$(LIBGENOMETHREADER_SRC:%.c=obj/%.d)
# set prefix for install target
prefix ?= /usr/local
# allow to set patch program
patch ?= patch
all: lib/libgenomethreader.a bin/gth bin/gthconsensus bin/gthbssmfileinfo \
bin/gthbssmbuild bin/gthbssmprint bin/gthbssmrmsd bin/gthbssmtrain \
bin/gthfilestat bin/gthmkbssmfiles bin/gthsplit bin/gthunit \
bin/gthgetseq bin/align_dna bin/rnv
lib/libgenomethreader.a: obj/gth_config.h $(LIBGENOMETHREADER_OBJ)
@echo "[link $(@F)]"
@test -d $(@D) || mkdir -p $(@D)
@$(AR) ru $@ $(LIBGENOMETHREADER_OBJ)
ifdef RANLIB
@$(RANLIB) $@
endif
lib/librnv.a: $(LIBRNV_OBJ)
@echo "[link $(@F)]"
@test -d $(@D) || mkdir -p $(@D)
@$(AR) ru $@ $(LIBRNV_OBJ)
ifdef RANLIB
@$(RANLIB) $@
endif
define PROGRAM_template
$(1): $(2)
@echo "[link $$(@F)]"
@test -d $$(@D) || mkdir -p $$(@D)
@$$(CC) $$(LDFLAGS) $$(GTH_LDFLAGS) $$(filter-out $$(OVERRIDELIBS),$$^) \
$$(filter-out $$(patsubst lib%.a,-l%,$$(notdir $$(OVERRIDELIBS))),\
$$(EXP_LDLIBS)) $$(OVERRIDELIBS) -o $$@
endef
$(eval $(call PROGRAM_template, bin/gth, obj/src/gth.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthconsensus, obj/src/gthconsensus.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthbssmfileinfo, obj/src/gthbssmfileinfo.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/gthbssmbuild, obj/src/gthbssmbuild.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/gthbssmprint, obj/src/gthbssmprint.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/gthbssmrmsd, obj/src/gthbssmrmsd.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/gthbssmtrain, obj/src/gthbssmtrain.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/gthfilestat, obj/src/gthfilestat.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthmkbssmfiles, obj/src/gthmkbssmfiles.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthsplit, obj/src/gthsplit.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthunit, obj/src/gthunit.o \
lib/libgenomethreader.a \
$(GTHLIBS) ../genometools/lib/libgenometools.a))
$(eval $(call PROGRAM_template, bin/gthgetseq, obj/src/gthgetseq.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
$(eval $(call PROGRAM_template, bin/align_dna, obj/src/align_dna.o \
lib/libgenomethreader.a \
../genometools/lib/libgenometools.a $(GTHLIBS)))
bin/rnv: $(RNVMAIN_OBJ) lib/librnv.a ../genometools/lib/libexpat.a
@echo "[link $(@F)]"
@test -d $(@D) || mkdir -p $(@D)
@$(CC) $(EXP_LDFLAGS) $(GTH_LDFLAGS) $^ -o $@
obj/gth_config.h: VERSION
@echo '[create $@]'
@test -d $(@D) || mkdir -p $(@D)
@(echo '#ifndef GTH_CONFIG_H' ;\
echo '#define GTH_CONFIG_H' ;\
echo '#define GTH_CC "'`$(CC) --version | head -n 1`\" ;\
echo '#define GTH_CFLAGS "$(EXP_CFLAGS) $(GTH_CFLAGS)"' ;\
echo '$(EXP_CPPFLAGS) $(GTH_CPPFLAGS)' | \
sed -e 's/\([^\]\)"/\1\\"/g' -e 's/^"/\\"/g' -e 's/$$/"/' \
-e 's/^/#define GTH_CPPFLAGS "/'; ) > $@
@echo '#define GTH_VERSION "'`cat VERSION`\" >> $@
@cat VERSION | \
sed 's/\([0-9]*\)\.[0-9]*\.[0-9]*/#define GTH_MAJOR_VERSION \1/' >> $@
@cat VERSION | \
sed 's/[0-9]*\.\([0-9]*\)\.[0-9]*/#define GTH_MINOR_VERSION \1/' >> $@
@cat VERSION | \
sed 's/[0-9]*\.[0-9]*\.\([0-9]*\)/#define GTH_MICRO_VERSION \1/' >> $@
@echo '#endif' >> $@
obj/amalgamation.c: $(LIBGENOMETOOLS_PRESRC)
@echo '[create $@]'
@test -d $(@D) || mkdir -p $(@D)
@scripts/create_amalgamation $(LIBGENOMETOOLS_PRESRC) > $@
define COMPILE_template
$(1): $(2)
@echo "[compile $$(@F)]"
@test -d $$(@D) || mkdir -p $$(@D)
@$$(CC) -c $$< -o $$@ $$(EXP_CPPFLAGS) $$(GTH_CPPFLAGS) $$(EXP_CFLAGS) \
$$(GTH_CFLAGS) $(3)
@$$(CC) -c $$< -o $$(@:.o=.d) $$(EXP_CPPFLAGS) $$(GTH_CPPFLAGS) \
$(3) -MM -MP -MT $$@
endef
$(eval $(call COMPILE_template, obj/%.o, %.c))
obj/%.o: %.cxx
@echo "[compile $(@F)]"
@test -d $(@D) || mkdir -p $(@D)
@$(CXX) -c $< -o $@ $(EXP_CPPFLAGS) $(GTH_CPPFLAGS) \
$(EXP_CXXFLAGS) $(GTH_CXXFLAGS)
@$(CXX) -c $< -o $(@:.o=.d) $(EXP_CPPFLAGS) $(GTH_CPPFLAGS) -MM -MP \
-MT $@
obj/%.o: %.cpp
@echo "[compile $@]"
@test -d $(@D) || mkdir -p $(@D)
@$(CXX) -c $< -o $@ $(EXP_CPPFLAGS) $(GTH_CPPFLAGS) \
$(EXP_CXXFLAGS) $(GTH_CXXFLAGS)
@$(CXX) -c $< -o $(@:.o=.d) $(EXP_CPPFLAGS) $(GTH_CPPFLAGS) -MM -MP \
-MT $@
obj/src/core/versionfunc.o: obj/gth_config.h
# read dependencies
-include $(LIBGENOMETHREADER_DEP) \
$(LIBRNV_DEP) \
$(RNVMAIN_DEP)
.SUFFIXES:
.PHONY: dist libdist srcdist release gt install docs manuals installwww patch \
push splint test train clean cleanup hmmer_get
VERSION:="`cat $(CURDIR)/VERSION`"
SYSTEMNAME:="$(SYSTEM)_$(MACHINE)"
DISTDIR:="$(CURDIR)/dist/$(SYSTEMNAME)"
GTHDISTBASENAME:="gth-$(VERSION)-$(SYSTEMNAME)-${BIT}"
GTHDISTDIR:="$(DISTDIR)/$(GTHDISTBASENAME)"
GTHLIBDISTBASENAME:="gthlibs-$(VERSION)-$(SYSTEMNAME)-${BIT}"
GTHLIBDISTDIR:="$(DISTDIR)/$(GTHLIBDISTBASENAME)"
STRIP:=strip
dist: all
@echo "[build gth distribution]"
@rm -rf $(GTHDISTDIR)
ifeq ($(SYSTEM),Windows)
@rm -f $(DISTDIR)/$(GTHDISTBASENAME).zip
else
@rm -f $(DISTDIR)/$(GTHDISTBASENAME).tar.gz
endif
@mkdir -p $(GTHDISTDIR)
@mkdir -p $(GTHDISTDIR)/bin/bssm
@mkdir -p $(GTHDISTDIR)/bin/gthdata
@mkdir -p $(GTHDISTDIR)/doc
@mkdir -p $(GTHDISTDIR)/data
@cp $(CURDIR)/gthdata/README $(GTHDISTDIR)
@cp $(CURDIR)/CHANGELOG $(GTHDISTDIR)
ifeq ($(SYSTEM),Windows)
@cp bin/gth $(GTHDISTDIR)/bin/gth.exe
@$(STRIP) $(GTHDISTDIR)/bin/gth.exe
@cp bin/gthconsensus $(GTHDISTDIR)/bin/gthconsensus.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthconsensus.exe
@cp bin/gthbssmfileinfo $(GTHDISTDIR)/bin/gthbssmfileinfo.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmfileinfo.exe
@cp bin/gthbssmbuild $(GTHDISTDIR)/bin/gthbssmbuild.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmbuild.exe
@cp bin/gthbssmrmsd $(GTHDISTDIR)/bin/gthbssmrmsd.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmrmsd.exe
@cp bin/gthbssmtrain $(GTHDISTDIR)/bin/gthbssmtrain.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmtrain.exe
@cp bin/gthfilestat $(GTHDISTDIR)/bin/gthfilestat.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthfilestat.exe
@cp bin/gthgetseq $(GTHDISTDIR)/bin/gthgetseq.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthgetseq.exe
@cp bin/gthsplit $(GTHDISTDIR)/bin/gthsplit.exe
@$(STRIP) $(GTHDISTDIR)/bin/gthsplit.exe
else
@cp bin/gth $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gth
@cp bin/gthconsensus $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthconsensus
@cp bin/gthbssmfileinfo $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmfileinfo
@cp bin/gthbssmbuild $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmbuild
@cp bin/gthbssmrmsd $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmrmsd
@cp bin/gthbssmtrain $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthbssmtrain
@cp bin/gthfilestat $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthfilestat
@cp bin/gthgetseq $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthgetseq
@cp bin/gthsplit $(GTHDISTDIR)/bin
@$(STRIP) $(GTHDISTDIR)/bin/gthsplit
@cp $(CURDIR)/scripts/gthclean.sh $(GTHDISTDIR)/bin
@cp $(CURDIR)/scripts/gthcleanrec.sh $(GTHDISTDIR)/bin
@cp $(CURDIR)/scripts/gthsplit2dim.sh $(GTHDISTDIR)/bin
endif
@cp $(CURDIR)/gthdata/bio/genomic_sequence_single_exon.fas $(GTHDISTDIR)/data
@cp $(CURDIR)/gthdata/bio/cdna_sequence_single_exon.fas $(GTHDISTDIR)/data
@cp bin/bssm/*.bssm $(GTHDISTDIR)/bin/bssm
@cp $(CURDIR)/gthdata/gth/BLOSUM62 $(GTHDISTDIR)/bin/gthdata
@cp $(CURDIR)/gthdata/gth/TransDNAX $(GTHDISTDIR)/bin/gthdata
@cp $(CURDIR)/gthdata/gth/TransProt11 $(GTHDISTDIR)/bin/gthdata
@cp $(CURDIR)/gthdata/gth/polyatail.dna $(GTHDISTDIR)/bin/gthdata
@cp $(CURDIR)/doc/gthmanual/gthmanual.pdf $(GTHDISTDIR)/doc
ifeq ($(SYSTEM),Windows)
@cd $(DISTDIR) && 7z a -tzip $(GTHDISTBASENAME).zip $(GTHDISTBASENAME)
@echo "$(DISTDIR)/$(GTHDISTBASENAME).zip"
else
@cd $(DISTDIR) && tar --numeric-owner -cf $(GTHDISTBASENAME).tar $(GTHDISTBASENAME)
@cd $(DISTDIR) && gzip -f -9 $(GTHDISTBASENAME).tar
@echo "$(DISTDIR)/$(GTHDISTBASENAME).tar.gz"
endif
libdist: all
@echo "[build gth library distribution]"
@rm -rf $(GTHLIBDISTDIR)
@rm -f $(DISTDIR)/$(GTHLIBDISTBASENAME).tar.gz
@mkdir -p $(GTHLIBDISTDIR)
@mkdir -p $(GTHLIBDISTDIR)/lib
@mkdir -p $(GTHLIBDISTDIR)/obj
@cp $(CURDIR)/gthdata/README.libdist $(GTHLIBDISTDIR)/README
@cp $(CURDIR)/gthdata/Makefile $(GTHLIBDISTDIR)
@cp lib/libgenomethreader.a $(GTHLIBDISTDIR)/lib
@cp $(GTHLIBS) $(GTHLIBDISTDIR)/lib
@cp obj/src/gth.o $(GTHLIBDISTDIR)/obj
@cp obj/src/gthconsensus.o $(GTHLIBDISTDIR)/obj
@cd $(DISTDIR) && tar --owner=root -cf $(GTHLIBDISTBASENAME).tar $(GTHLIBDISTBASENAME)
@cd $(DISTDIR) && gzip -f -9 $(GTHLIBDISTBASENAME).tar
@echo "$(DISTDIR)/$(GTHLIBDISTBASENAME).tar.gz"
srcdist:
git archive --format=tar --prefix=genomethreader-`cat VERSION`/ HEAD | \
gzip -9 > genomethreader-`cat VERSION`.tar.gz
release:
git tag "v`cat VERSION`"
git push --tags origin master
installwww:
# install genomethreader.org website
rsync -rv www/genomethreader.org/ $(SERVER):$(WWWBASEDIR)/genomethreader.org
push:
git push origin master
cflags:
@echo ${GTH_CFLAGS}
RUBY:=ruby
test: all
cd testsuite && env -i GTH_MEM_BOOKKEEPING=on MAKE=$(MAKE) PATH="$(PATH)" \
BSSMDIR=$(CURDIR)/bin/bssm GTHDATADIR=$(CURDIR)/gthdata/gth \
CCACHE_DISABLE=yes HOME=$(HOME) GTHTESTDATADIR=$(GTHTESTDATADIR) \
$(RUBY) -I. testsuite.rb \
-testdata $(CURDIR)/testdata -bin $(CURDIR)/bin -cur $(CURDIR) \
-gtruby $(CURDIR)/gtruby $(STEST_FLAGS)
clean:
rm -rf obj lib
rm -rf testsuite/stest_testsuite testsuite/stest_stest_tests
cleanup: clean
rm -rf bin
find gthdata -name '*.des' | xargs rm -f
find gthdata -name '*.esq' | xargs rm -f
find gthdata -name '*.md5' | xargs rm -f
find gthdata -name '*.ois' | xargs rm -f
find gthdata -name '*.sds' | xargs rm -f
obj/train: bin/gthbssmbuild
@mkdir -p bin/bssm
@echo "[train arabidopsis.bssm]"
@bin/gthbssmbuild -bssmfile bin/bssm/arabidopsis.bssm \
-datapath gthdata/bssm/arabidopsis \
-gtdonor -gcdonor -agacceptor -gzip
@echo "[train rice.bssm]"
@bin/gthbssmbuild -bssmfile bin/bssm/rice.bssm \
-datapath gthdata/bssm/rice \
-gtdonor -gcdonor -agacceptor -gzip
@echo "[train maize.bssm]"
@bin/gthbssmbuild -bssmfile bin/bssm/maize.bssm \
-datapath gthdata/bssm/maize \
-gtdonor -gcdonor -agacceptor -gzip
@echo "[train medicago.bssm]"
@bin/gthbssmbuild -bssmfile bin/bssm/medicago.bssm \
-datapath gthdata/bssm/medicago \
-gtdonor -agacceptor -gzip
@touch $@
obj/old_train: bin/gthmkbssmfiles
@echo "[write old BSSMs]"
@bin/gthmkbssmfiles bin/bssm
@touch $@
obj/gthdata:
@echo "[copy gthdata stuff to bin]"
@mkdir -p bin/gthdata
@cp $(CURDIR)/gthdata/gth/BLOSUM62 bin/gthdata
@cp $(CURDIR)/gthdata/gth/TransDNAX bin/gthdata
@cp $(CURDIR)/gthdata/gth/TransProt11 bin/gthdata
@cp $(CURDIR)/gthdata/gth/polyatail.dna bin/gthdata
@touch $@
train: obj/train obj/old_train obj/gthdata