forked from mogill/ems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
87 lines (71 loc) · 4.51 KB
/
Makefile
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
#make
# *-----------------------------------------------------------------------------+
# | Extended Memory Semantics (EMS) Version 1.6.1 |
# | http://mogill.com/ [email protected] |
# +-----------------------------------------------------------------------------+
# | Copyright (c) 2016-2020, Jace A Mogill. All rights reserved. |
# | |
# | Redistribution and use in source and binary forms, with or without |
# | modification, are permitted provided that the following conditions are met: |
# | * Redistributions of source code must retain the above copyright |
# | notice, this list of conditions and the following disclaimer. |
# | * Redistributions in binary form must reproduce the above copyright |
# | notice, this list of conditions and the following disclaimer in the |
# | documentation and/or other materials provided with the distribution. |
# | * Neither the name of the Synthetic Semantics nor the names of its |
# | contributors may be used to endorse or promote products derived |
# | from this software without specific prior written permission. |
# | |
# | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
# | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
# | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
# | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SYNTHETIC |
# | SEMANTICS LLC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
# | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
# | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
# | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
# | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
# | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
# | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
# | |
# +-----------------------------------------------------------------------------*
all: py2 py3 node test help_notice
help:
@echo " Extended Memory Semantics -- Build Targets"
@echo "==========================================================="
@echo " all Build all targets, run all tests"
@echo " node Build only Node.js"
@echo " py Build both Python 2 and 3"
@echo " "
@echo " py[2|3] Build only Python2 or 3"
@echo " test Run both Node.js and Py tests"
@echo " test[_js|_py|_py2|_py3] Run only Node.js, or only Py tests, respectively"
@echo " clean Remove all files that can be regenerated"
@echo " clean[_js|_py|_py2|_py3] Remove Node.js or Py files that can be regenerated"
help_notice:
@echo "=== \"make help\" for list of targets"
test: test_js test_py
test_js: node
npm test
test_py: test_py2 test_py3
test_py3: py3
(cd Tests; python3 ./py_api.py)
test_py2: py2
(cd Tests; python ./py_api.py)
node: build/Release/ems.node
build/Release/ems.node:
(cd node_modules; /bin/rm -f ems)
npm install
(cd node_modules; ln -s ../ ./ems)
py: py2 py3
py3:
(cd Python; sudo rm -rf Python/build Python/ems.egg-info Python/dist; sudo python3 ./setup.py build --build-temp=./ install)
py2:
(cd Python; sudo rm -rf Python/build Python/ems.egg-info Python/dist; sudo python ./setup.py build --build-temp=./ install)
clean: clean_js clean_py3 clean_py2
clean_js:
$(RM) -rf build
clean_py3:
$(RM) -rf Python/build Python/py3ems/build /usr/local/lib/python*/dist-packages/*ems* ~/Library/Python/*/lib/python/site-packages/*ems* ~/Library/Python/*/lib/python/site-packages/__pycache__/*ems* /Library/Frameworks/Python.framework/Versions/*/lib/python*/site-packages/*ems* /Users/*/opt/anaconda3/envs/py*/lib/python*/site-packages/*ems* /Users/*/opt/anaconda3/envs/py*/lib/python*/site-packages/libems
clean_py2:
$(RM) -rf Python/build Python/py2ems/build /usr/local/lib/python*/dist-packages/*ems* ~/Library/Python/*/lib/python/site-packages/*ems* ~/Library/Python/*/lib/python/site-packages/__pycache__/*ems* /Library/Python/*/site-packages/*ems*