forked from elixir-nx/xla
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.win
62 lines (51 loc) · 1.78 KB
/
Makefile.win
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
52
53
54
55
56
57
58
59
60
61
62
# Environment variables passed via elixir_make
# ROOT_DIR
# BUILD_ARCHIVE
# BUILD_ARCHIVE_DIR
# BUILD_INTERNAL_FLAGS
# System vars
TEMP=$(HOME)/.cache
# Public configuration
!IFNDEF BUILD_MODE
BUILD_MODE=opt # can also be dbg
!ENDIF
!IFNDEF BUILD_CACHE
BUILD_CACHE=$(TEMP)/xla_extension
!ENDIF
!IFNDEF TENSORFLOW_GIT_REPO
TENSORFLOW_GIT_REPO=https://github.com/tensorflow/tensorflow.git
!ENDIF
!IFNDEF TENSORFLOW_GIT_REV
# Tensorflow 2.8.0
TENSORFLOW_GIT_REV=3f878cff5b698b82eea85db2b60d65a2e320850e
!ENDIF
# Private configuration
BAZEL_FLAGS=--define "framework_shared_object=false" -c $(BUILD_MODE)
TENSORFLOW_NS=tf-$(TENSORFLOW_GIT_REV)
TENSORFLOW_DIR=$(BUILD_CACHE)/$(TENSORFLOW_NS)
TENSORFLOW_XLA_EXTENSION_NS=tensorflow/compiler/xla/extension
TENSORFLOW_XLA_EXTENSION_DIR=$(TENSORFLOW_DIR)/$(TENSORFLOW_XLA_EXTENSION_NS)
TENSORFLOW_XLA_BUILD_ARCHIVE=$(TENSORFLOW_DIR)/bazel-bin/$(TENSORFLOW_XLA_EXTENSION_NS)/xla_extension.tar.gz
$(BUILD_ARCHIVE): $(TENSORFLOW_DIR) extension/BUILD
rm -rf "$(TENSORFLOW_XLA_EXTENSION_DIR)" && \
ln -s "$(ROOT_DIR)/extension" "$(TENSORFLOW_XLA_EXTENSION_DIR)" && \
cd "$(TENSORFLOW_DIR)" && \
bazel build $(BAZEL_FLAGS) $(BUILD_FLAGS) $(BUILD_INTERNAL_FLAGS) //$(TENSORFLOW_XLA_EXTENSION_NS):xla_extension && \
mkdir -f "$(BUILD_ARCHIVE_DIR)" && \
cp -f "$(TENSORFLOW_XLA_BUILD_ARCHIVE)" "$(BUILD_ARCHIVE)"
# Clones tensorflow
$(TENSORFLOW_DIR):
mkdir "$(TENSORFLOW_DIR)" && \
cd "$(TENSORFLOW_DIR)" && \
git init && \
git remote add origin $(TENSORFLOW_GIT_REPO) && \
git fetch --depth 1 origin $(TENSORFLOW_GIT_REV) && \
git checkout FETCH_HEAD
# Print Tensorflow Dir
PTD:
@ echo "$(TENSORFLOW_DIR)"
clean:
cd "$(TENSORFLOW_DIR)" && bazel clean --expunge
rm -rf "$(TENSORFLOW_XLA_EXTENSION_DIR)"
rm -rf "$(TENSORFLOW_DIR)"
rm -rf "$(TARGET_DIR)"