Makefile 2.18 KB
Newer Older
1
SHELL := /bin/bash
liuzhe-lz's avatar
liuzhe-lz committed
2

3
4
_INFO := $(shell echo -e '\033[1;36m')
_END := $(shell echo -e '\033[0m')
Gems Guo's avatar
Gems Guo committed
5
6

## Detect OS
7
8
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Linux)
9
    OS_SPEC := linux
10
else ifeq ($(UNAME_S), Darwin)
11
    OS_SPEC := darwin
12
else
Yuge Zhang's avatar
Yuge Zhang committed
13
    $(error platform $(UNAME_S) not supported)
14
15
endif

16
17
_PWD := $(PWD)
YARN ?= PATH=$(_PWD)/nni_node:$${PATH} $(PWD)/toolchain/yarn/bin/yarn
Zejun Lin's avatar
Zejun Lin committed
18

liuzhe-lz's avatar
liuzhe-lz committed
19
20

.PHONY: build
21
build: nni_node/node create-symlinks
liuzhe-lz's avatar
liuzhe-lz committed
22
	#$(_INFO) Building NNI Manager $(_END)
23
24
	cd ts/nni_manager && $(YARN) && $(YARN) build
	cp -rf ts/nni_manager/config ts/nni_manager/dist/
goooxu's avatar
goooxu committed
25
	#$(_INFO) Building WebUI $(_END)
26
	cd ts/webui && $(YARN) && $(YARN) build
Yuge Zhang's avatar
Yuge Zhang committed
27
	#$(_INFO) Building NAS UI $(_END)
28
	cd ts/nasui && $(YARN) && $(YARN) build
liuzhe-lz's avatar
liuzhe-lz committed
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
nni_node/node:
	mkdir -p toolchain
	wget https://nodejs.org/dist/v10.22.1/node-v10.22.1-$(OS_SPEC)-x64.tar.xz -O toolchain/node.tar.xz
	wget https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz -O toolchain/yarn.tar.gz
	
	mkdir -p toolchain/node toolchain/yarn
	tar -xf toolchain/node.tar.xz -C toolchain/node --strip-components 1
	tar -xf toolchain/yarn.tar.gz -C toolchain/yarn --strip-components 1
	
	cp toolchain/node/bin/node nni_node/


.PHONY: create-symlinks
create-symlinks:
	ln -sfT ../ts/nni_manager/dist/common nni_node/common
	ln -sfT ../ts/nni_manager/dist/config nni_node/config
	ln -sfT ../ts/nni_manager/dist/core nni_node/core
	ln -sfT ../ts/nni_manager/dist/rest_server nni_node/rest_server
	ln -sfT ../ts/nni_manager/dist/training_service nni_node/training_service
	ln -sfT ../ts/nni_manager/dist/main.js nni_node/main.js
	ln -sfT ../ts/nni_manager/package.json nni_node/package.json
	ln -sfT ../ts/nni_manager/node_modules nni_node/node_modules
	
	ln -sfT ../ts/webui/build nni_node/static
	
	mkdir -p nni_node/nasui
	ln -sfT ../../ts/nasui/build nni_node/nasui/build
	ln -sfT ../../ts/nasui/server.js nni_node/nasui/server.js
liuzhe-lz's avatar
liuzhe-lz committed
59
60


QuanluZhang's avatar
QuanluZhang committed
61
62
.PHONY: clean
clean:
63
64
65
66
67
68
69
70
71
72
73
74
	-rm nni_node/node
	-rm -rf toolchain
	-rm -rf nni_node/common
	-rm -rf nni_node/config
	-rm -rf nni_node/core
	-rm -rf nni_node/rest_server
	-rm -rf nni_node/training_service
	-rm -rf nni_node/main.js
	-rm -rf nni_node/package.json
	-rm -rf nni_node/node_modules
	-rm -rf nni_node/nasui
	-rm -rf nni_node/static