-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
/
Copy pathblastrampoline.mk
51 lines (40 loc) · 2.1 KB
/
blastrampoline.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
## blastrampoline ##
ifneq ($(USE_BINARYBUILDER_BLASTRAMPOLINE),1)
BLASTRAMPOLINE_GIT_URL := https://github.com/JuliaLinearAlgebra/libblastrampoline.git
BLASTRAMPOLINE_TAR_URL = https://api.github.com/repos/JuliaLinearAlgebra/libblastrampoline/tarball/$1
$(eval $(call git-external,blastrampoline,BLASTRAMPOLINE,,,$(BUILDDIR)))
BLASTRAMPOLINE_BUILD_OPTS := $(MAKE_COMMON) CC="$(CC) $(SANITIZE_OPTS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
BLASTRAMPOLINE_BUILD_OPTS += ARCH="$(ARCH)" OS="$(OS)"
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/source-extracted
mkdir -p $(dir $@)
echo 1 > $@
BLASTRAMPOLINE_BUILD_ROOT := $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/src
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured
cd $(dir $@)/src && $(MAKE) $(BLASTRAMPOLINE_BUILD_OPTS)
echo 1 > $@
define BLASTRAMPOLINE_INSTALL
$(MAKE) -C $(BLASTRAMPOLINE_BUILD_ROOT) install $(BLASTRAMPOLINE_BUILD_OPTS) DESTDIR="$2"
endef
ifeq ($(OS), WINNT)
# Windows doesn't like soft link, use hard link to copy file without version suffix
BLASTRAMPOLINE_INSTALL += && cd $2$$(build_prefix)/bin && \
$$(WIN_MAKE_HARD_LINK) libblastrampoline-*.dll libblastrampoline.dll
endif
$(eval $(call staged-install, \
blastrampoline,$(BLASTRAMPOLINE_SRC_DIR), \
BLASTRAMPOLINE_INSTALL,, \
$$(BLASTRAMPOLINE_OBJ_TARGET), \
$$(INSTALL_NAME_CMD)libblastrampoline.$$(SHLIB_EXT) $$(build_shlibdir)/libblastrampoline.$$(SHLIB_EXT)))
clean-blastrampoline:
-$(MAKE) -C $(BLASTRAMPOLINE_BUILD_ROOT) clean
-$(RM) $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled \
$(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-configured
get-blastrampoline: $(BLASTRAMPOLINE_SRC_FILE)
extract-blastrampoline: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/source-extracted
configure-blastrampoline: extract-blastrampoline
compile-blastrampoline: $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled
fastcheck-blastrampoline: check-blastrampoline
check-blastrampoline: compile-blastrampoline
else
$(eval $(call bb-install,blastrampoline,BLASTRAMPOLINE,false))
endif # USE_BINARYBUILDER_BLASTRAMPOLINE