-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.julia
102 lines (81 loc) · 3.4 KB
/
Makefile.julia
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
include config/base.config
include config/forcegcc.config
#include config/forcellvm.config
JULIA_VER = 1.11.3
JULIA_NAME = ${JULIA_VER}-full
JULIA_INST_PATH = ${NLYTIQ_INST_PATH}
JULIA_DWV = julia-${JULIA_VER}
JULIA_DIR = julia
ifeq ($(CLANG),1)
__ENV__SET = USE_LLVM_SHLIB=1
endif
ifeq ($(GCC),1)
__ENV__SET = USE_LLVM_SHLIB=0
endif
__ENV__SET += PYTHON=${NLYTIQ_INST_PATH}/bin/python3
#__ENV__SET += PYTHON=${NLYTIQ_INST_PATH}/bin/python3 CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
# ${_EPF_} contains the front matter for configure after the include below
include config/configure.prefix.flag.config
all: install-julia-modules
clean: clean-julia
configure-julia:
tar -zxvf sources/julia-${JULIA_NAME}.tar.gz
# rename julia directory to exclude version name
if [ -d ${JULIA_DWV} ]; then \
mv -vf ${JULIA_DWV} ${JULIA_DIR} ;\
fi
rm -f ${JULIA_DIR}/Make.user
cp -f config/julia.Make.user ${JULIA_DIR}/Make.user
ifeq (${OS},Darwin)
# use 'brew install libunwind mpfr mbedtls libssh2 curl wget suitesparse'
#echo USE_SYSTEM_LIBUNWIND=1 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_MPFR=1 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_MBEDTLS=1 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_LIBSSH2=1 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_PCRE=0 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_CURL=1 >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_SUITESPARSE=1 >> ${JULIA_DIR}/Make.user
#echo OPENBLAS_TARGET_ARCH=NEHALEM >> ${JULIA_DIR}/Make.user
#echo USE_SYSTEM_OPENBLAS=1 >> ${JULIA_DIR}/Make.user
endif
ifeq ($(OS),Linux)
#echo USE_SYSTEM_PCRE=1 >> ${JULIA_DIR}/Make.user
#echo OPENBLAS_TARGET_ARCH=pentium4 >> ${JULIA_DIR}/Make.user
#echo ARCH=pentium4 >> ${JULIA_DIR}/Make.user
#echo JULIA_CPU_TARGET=pentium4 >> ${JULIA_DIR}/Make.use
#echo USE_SYSTEM_CURL=1 >> ${JULIA_DIR}/Make.user
#echo "CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0" >> ${JULIA_DIR}/Make.user
endif
touch configure-julia
make-julia-flisp: configure-julia
#cd ${JULIA_DIR}/src/flisp ; patch < ../../../sources/flisp.patch
cd ${JULIA_DIR}/src/flisp ; make clean ; make
touch make-julia-flisp
make-julia-deps: configure-julia
# make-julia-flisp
#cd ${JULIA_DIR}/src ; patch < ../../sources/julia.patch
cd ${JULIA_DIR} ; ${__ENV__SET} ${MAKECMD} -j${NCPU} -C deps
touch make-julia-deps
make-julia: make-julia-deps
cd ${JULIA_DIR} ; ${__ENV__SET} ${MAKECMD} -j${NCPU}
touch make-julia
install-julia: make-julia
ifeq (${OS},Darwin)
mkdir -p ${JULIA_INST_PATH}/{etc,bin,lib}
cd ${JULIA_DIR}/usr ; tar -cf - . | (cd ${JULIA_INST_PATH} && tar -xvf - )
else
cd ${JULIA_DIR} ; ${__ENV__SET} ${MAKECMD} install
cd ${JULIA_DIR}/${JULIA_DWV} ; tar -cf - . | (cd ${JULIA_INST_PATH} && tar -xvf - )
endif
touch install-julia
install-julia-modules: install-julia
mkdir -p ${JULIA_INST_PATH}/{etc,bin,lib,libexec}
mkdir -p ~/.julia/config
echo JULIA_PKGDIR=${JULIA_INST_PATH}/julia > ${JULIA_INST_PATH}/etc/bashrc.julia
echo JULIA_BINDIR=${JULIA_INST_PATH}/bin >> ${JULIA_INST_PATH}/etc/bashrc.julia
TF_USE_GPU=1 JULIA_PKGDIR=${JULIA_INST_PATH}/julia JULIA_BINDIR=${JULIA_INST_PATH}/bin sources/julia-pkgs.jl
echo "using BenchmarkTools" > ~/.julia/config/startup.jl
echo "using Test" >> ~/.julia/config/startup.jl
touch install-julia-modules
clean-julia:
rm -rf install-julia make-julia configure-julia OpenBLAS* ${JULIA_DIR} install-julia install-julia-modules bashrc.julia make-julia-deps