Makefile 2.6 KB
Newer Older
1
2
CWD := $(PWD)/

3
4
5
6
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Linux)
	OS_SPEC := linux
	WHEEL_SPEC := manylinux1_x86_64
Yuge Zhang's avatar
Yuge Zhang committed
7
	NODE_URL := https://nodejs.org/dist/v10.22.1/node-v10.22.1-linux-x64.tar.xz
8
9
10
else ifeq ($(UNAME_S), Darwin)
	OS_SPEC := darwin
	WHEEL_SPEC := macosx_10_9_x86_64
Yuge Zhang's avatar
Yuge Zhang committed
11
	NODE_URL := https://nodejs.org/dist/v10.22.1/node-v10.22.1-darwin-x64.tar.xz
12
else
13
14
15
	$(error platform $(UNAME_S) not supported)
endif

chicm-ms's avatar
chicm-ms committed
16
TIME_STAMP = $(shell date -u "+%y%m%d%H%M")
chicm-ms's avatar
chicm-ms committed
17
NNI_VERSION_VALUE = $(shell git describe --tags --abbrev=0)
18
NNI_VERSION_VALUE := $(NNI_VERSION_VALUE:v%=%)
chicm-ms's avatar
chicm-ms committed
19
20
21
22
23
24

# To include time stamp in version value, run:
# make version_ts=true build
ifeq ($(version_ts), true)
	NNI_VERSION_VALUE := $(NNI_VERSION_VALUE).$(TIME_STAMP)
endif
goooxu's avatar
goooxu committed
25
NNI_VERSION_TEMPLATE = 999.0.0-developing
26
27
28
NNI_YARN_TARBALL ?= $(CWD)nni-yarn.tar.gz
NNI_YARN_FOLDER ?= $(CWD)nni-yarn
NNI_YARN := PATH=$(CWD)node-$(OS_SPEC)-x64/bin:$${PATH} $(NNI_YARN_FOLDER)/bin/yarn
29
30
.PHONY: build
build:
31
	# Building version $(NNI_VERSION_VALUE)
Gems Guo's avatar
Gems Guo committed
32
	python3 -m pip install --user --upgrade setuptools wheel
Yuge Zhang's avatar
Yuge Zhang committed
33
	wget -q $(NODE_URL) -O $(CWD)node-$(OS_SPEC)-x64.tar.xz
34
35
36
	rm -rf $(CWD)node-$(OS_SPEC)-x64
	mkdir $(CWD)node-$(OS_SPEC)-x64
	tar xf $(CWD)node-$(OS_SPEC)-x64.tar.xz -C node-$(OS_SPEC)-x64 --strip-components 1
Yuge Zhang's avatar
Yuge Zhang committed
37
	wget -q https://github.com/yarnpkg/yarn/releases/download/v1.22.5/yarn-v1.22.5.tar.gz -O $(NNI_YARN_TARBALL)
38
39
40
41
42
	rm -rf $(NNI_YARN_FOLDER)
	mkdir $(NNI_YARN_FOLDER)
	tar -xf $(NNI_YARN_TARBALL) -C $(NNI_YARN_FOLDER) --strip-components 1
	cd $(CWD)../../src/nni_manager && $(NNI_YARN) && $(NNI_YARN) build
	cd $(CWD)../../src/webui && $(NNI_YARN) && $(NNI_YARN) build
SparkSnail's avatar
SparkSnail committed
43
	cd $(CWD)../../src/nasui && $(NNI_YARN) && $(NNI_YARN) build
44
45
	rm -rf $(CWD)nni
	cp -r $(CWD)../../src/nni_manager/dist $(CWD)nni
SparkSnail's avatar
SparkSnail committed
46
	cp -r $(CWD)../../src/nni_manager/config $(CWD)nni
47
	cp -r $(CWD)../../src/webui/build $(CWD)nni/static
SparkSnail's avatar
SparkSnail committed
48
49
	mkdir -p $(CWD)nni/nasui/build
	cp -r $(CWD)../../src/nasui/build/. $(CWD)nni/nasui/build
SparkSnail's avatar
SparkSnail committed
50
	cp $(CWD)../../src/nasui/server.js $(CWD)nni/nasui
51
	cp $(CWD)../../src/nni_manager/package.json $(CWD)nni
goooxu's avatar
goooxu committed
52
	sed -ie 's/$(NNI_VERSION_TEMPLATE)/$(NNI_VERSION_VALUE)/' $(CWD)nni/package.json
53
	cd $(CWD)nni && $(NNI_YARN) --prod
54
	sed -ie 's/$(NNI_VERSION_TEMPLATE)/$(NNI_VERSION_VALUE)/' $(CWD)../../src/sdk/pynni/nni/__init__.py
goooxu's avatar
goooxu committed
55
	cd $(CWD) && sed -ie 's/$(NNI_VERSION_TEMPLATE)/$(NNI_VERSION_VALUE)/' setup.py && python3 setup.py bdist_wheel -p $(WHEEL_SPEC)
56
	cd $(CWD)
57
58
59

.PHONY: upload
upload:
Gems Guo's avatar
Gems Guo committed
60
	python3 -m pip install --user --upgrade twine
61
62
63
64
	python3 -m twine upload dist/*

.PHONY: clean
clean:
Gems Guo's avatar
Gems Guo committed
65
66
67
68
	rm -rf $(CWD)build
	rm -rf $(CWD)dist
	rm -rf $(CWD)nni
	rm -rf $(CWD)nni.egg-info
69
	rm -rf $(CWD)node-$(OS_SPEC)-x64