# Wrapper to build RAxML versions # _PORTABLE_PTHREADS in axml.c to get pthread pinning on linux # use approx 1 thread per 500bp # Versions of RAxML to build VERSIONS:=SSE3.PTHREADS PTHREADS # AVX needs gcc >= 4.6.0 ifeq ("$(USE_GCC_46_OR_HIGHER)", "yes") VERSIONS+=AVX.PTHREADS endif TARFILE=$(wildcard standard-RAxML-8.*.*gz) ifeq ($(DARWIN),1) MAKE_SUFFIX=mac else MAKE_SUFFIX=gcc endif RAXML_BIN=$(ARBHOME)/bin/raxmlHPC8- ## targets called by "upsteam makefile": all: install clean: rm -rf builddir.* rm -f $(RAXML_BIN)* rm -f unpack.*.stamp wantNoWindowsExecutables: -find . -name "WindowsExecutables*" -type d -exec rm -r {} \; ## internal targets install: build cp arb_raxml8.sh $(ARBHOME)/bin chmod a+x $(ARBHOME)/bin/arb_raxml8.sh cp raxml8.menu $(ARBHOME)/lib/gde build: $(VERSIONS:%=$(RAXML_BIN)%) $(MAKE) wantNoWindowsExecutables # (MAKEFLAGS need to be unset as ARB sets "-r", suppressing built-in rules, # which are needed by RAxML) $(RAXML_BIN)%: unpack.%.stamp MAKEFLAGS= $(MAKE) -C $(<:unpack.%.stamp=builddir.%) -f Makefile.$(@:$(RAXML_BIN)%=%).$(MAKE_SUFFIX) cp $(<:unpack.%.stamp=builddir.%)/raxmlHPC-* $@ unpack.%.stamp: $(TARFILE) (DIR=$(@:unpack.%.stamp=builddir.%); \ rm -rf $$DIR &&\ mkdir $$DIR &&\ tar -C $$DIR --strip-components=1 -xzf $(TARFILE) &&\ arb_sed -i 's/-march=native//' $$DIR/Makefile*) touch $@ -r $(TARFILE) %.stamp: echo $@ # prevent make from deleting intermediate targets: .SECONDARY: .PHONY: clean all