1*9a0e4156SSadaf EbrahimiPYTHON2 ?= python 2*9a0e4156SSadaf EbrahimiPYTHON3 ?= python3 3*9a0e4156SSadaf Ebrahimi 4*9a0e4156SSadaf Ebrahimi.PHONY: gen_const install install3 install_cython sdist sdist3 bdist bdist3 clean check 5*9a0e4156SSadaf Ebrahimi 6*9a0e4156SSadaf Ebrahimigen_const: 7*9a0e4156SSadaf Ebrahimi cd .. && $(PYTHON2) const_generator.py python 8*9a0e4156SSadaf Ebrahimi 9*9a0e4156SSadaf Ebrahimiinstall: 10*9a0e4156SSadaf Ebrahimi rm -rf src/ 11*9a0e4156SSadaf Ebrahimi if test -n "${DESTDIR}"; then \ 12*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup.py build install --root="${DESTDIR}"; \ 13*9a0e4156SSadaf Ebrahimi else \ 14*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup.py build install; \ 15*9a0e4156SSadaf Ebrahimi fi 16*9a0e4156SSadaf Ebrahimi 17*9a0e4156SSadaf Ebrahimiinstall3: 18*9a0e4156SSadaf Ebrahimi rm -rf src/ 19*9a0e4156SSadaf Ebrahimi if test -n "${DESTDIR}"; then \ 20*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup.py build install --root="${DESTDIR}"; \ 21*9a0e4156SSadaf Ebrahimi else \ 22*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup.py build install; \ 23*9a0e4156SSadaf Ebrahimi fi 24*9a0e4156SSadaf Ebrahimi 25*9a0e4156SSadaf Ebrahimi# NOTE: Newer cython can be installed by: sudo pip install --upgrade cython 26*9a0e4156SSadaf Ebrahimiinstall_cython: 27*9a0e4156SSadaf Ebrahimi rm -rf src/ 28*9a0e4156SSadaf Ebrahimi if test -n "${DESTDIR}"; then \ 29*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup_cython.py build install --root="${DESTDIR}"; \ 30*9a0e4156SSadaf Ebrahimi else \ 31*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup_cython.py build install; \ 32*9a0e4156SSadaf Ebrahimi fi 33*9a0e4156SSadaf Ebrahimi 34*9a0e4156SSadaf Ebrahimiinstall3_cython: 35*9a0e4156SSadaf Ebrahimi rm -rf src/ 36*9a0e4156SSadaf Ebrahimi if test -n "${DESTDIR}"; then \ 37*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup_cython.py build install --root="${DESTDIR}"; \ 38*9a0e4156SSadaf Ebrahimi else \ 39*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup_cython.py build install; \ 40*9a0e4156SSadaf Ebrahimi fi 41*9a0e4156SSadaf Ebrahimi 42*9a0e4156SSadaf Ebrahimi# build & upload PyPi package with source code of the core 43*9a0e4156SSadaf Ebrahimisdist: 44*9a0e4156SSadaf Ebrahimi rm -rf src/ dist/ 45*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup.py sdist register upload 46*9a0e4156SSadaf Ebrahimi 47*9a0e4156SSadaf Ebrahimi# build & upload PyPi package with source code of the core 48*9a0e4156SSadaf Ebrahimisdist3: 49*9a0e4156SSadaf Ebrahimi rm -rf src/ dist/ 50*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup.py sdist register upload 51*9a0e4156SSadaf Ebrahimi 52*9a0e4156SSadaf Ebrahimi# build & upload PyPi package with prebuilt core 53*9a0e4156SSadaf Ebrahimibdist: 54*9a0e4156SSadaf Ebrahimi rm -rf src/ dist/ 55*9a0e4156SSadaf Ebrahimi $(PYTHON2) setup.py bdist_wheel register upload 56*9a0e4156SSadaf Ebrahimi 57*9a0e4156SSadaf Ebrahimi# build & upload PyPi package with prebuilt core 58*9a0e4156SSadaf Ebrahimibdist3: 59*9a0e4156SSadaf Ebrahimi rm -rf src/ dist/ 60*9a0e4156SSadaf Ebrahimi $(PYTHON3) setup.py bdist_wheel register upload 61*9a0e4156SSadaf Ebrahimi 62*9a0e4156SSadaf Ebrahimiclean: 63*9a0e4156SSadaf Ebrahimi rm -rf build/ src/ dist/ *.egg-info 64*9a0e4156SSadaf Ebrahimi rm -rf capstone/lib capstone/include pyx/lib pyx/include 65*9a0e4156SSadaf Ebrahimi rm -f pyx/*.c pyx/__init__.py 66*9a0e4156SSadaf Ebrahimi for f in capstone/*.py; do rm -f pyx/$$(basename $$f)x; done 67*9a0e4156SSadaf Ebrahimi rm -f MANIFEST 68*9a0e4156SSadaf Ebrahimi rm -f *.pyc capstone/*.pyc 69*9a0e4156SSadaf Ebrahimi 70*9a0e4156SSadaf Ebrahimi 71*9a0e4156SSadaf EbrahimiTESTS = test_basic.py test_detail.py test_arm.py test_arm64.py test_m68k.py test_mips.py 72*9a0e4156SSadaf EbrahimiTESTS += test_ppc.py test_sparc.py test_systemz.py test_x86.py test_xcore.py test_tms320c64x.py 73*9a0e4156SSadaf EbrahimiTESTS += test_m680x.py test_skipdata.py test_mos65xx.py 74*9a0e4156SSadaf Ebrahimi 75*9a0e4156SSadaf Ebrahimicheck: 76*9a0e4156SSadaf Ebrahimi @for t in $(TESTS); do \ 77*9a0e4156SSadaf Ebrahimi echo Check $$t ... ; \ 78*9a0e4156SSadaf Ebrahimi ./$$t > /dev/null; \ 79*9a0e4156SSadaf Ebrahimi if [ $$? -eq 0 ]; then echo OK; else echo FAILED; exit 1; fi \ 80*9a0e4156SSadaf Ebrahimi done 81*9a0e4156SSadaf Ebrahimi 82