blob: bae4fe1337a52a34b4967aa1740eec79828d2246 [file] [log] [blame]
mirabald87877c2017-03-31 15:15:52 +02001#!/usr/bin/env bash
2SHELL := /bin/bash
3
mirabal9f657102017-04-10 20:05:40 +02004all: clean build pip install
5lite: clean build_lite pip_lite install_lite
mirabald87877c2017-03-31 15:15:52 +02006
garciadeblas0119d7d2017-04-21 07:10:23 +02007clean_deb:
8 rm -rf .build
mirabald87877c2017-03-31 15:15:52 +02009clean:
10 rm -rf build
garciadeblas8b7767b2017-04-20 19:21:49 +020011 find osm_openvim -name '*.pyc' -delete
12 find osm_openvim -name '*.pyo' -delete
mirabald87877c2017-03-31 15:15:52 +020013
mirabal9f657102017-04-10 20:05:40 +020014prepare_lite:
garciadeblas334af282017-04-24 18:56:07 +020015 pip install --user --upgrade setuptools
mirabal9f657102017-04-10 20:05:40 +020016 mkdir -p build
garciadeblas8b7767b2017-04-20 19:21:49 +020017 VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
18 VER2=$(shell git describe | cut -d- -f2); \
19 VER3=$(shell git describe | cut -d- -f3); \
20 echo "$$VER1.dev$$VER2+$$VER3" > build/OVIM_VERSION
21 cp MANIFEST.in build/
22 sed -i "s/include OPENVIM_VERSION/include OVIM_VERSION/g" build/MANIFEST.in
garciadeblas0119d7d2017-04-21 07:10:23 +020023 sed -i "s/recursive-include osm_openvim/recursive-include lib_osm_openvim/g" build/MANIFEST.in
garciadeblas8b7767b2017-04-20 19:21:49 +020024 sed -i "s/include openflow/include openflow-lib/g" build/MANIFEST.in
garciadeblas0119d7d2017-04-21 07:10:23 +020025 sed -i '/include openvimd/d' build/MANIFEST.in
26 sed -i '/include openvim/d' build/MANIFEST.in
garciadeblas8b7767b2017-04-20 19:21:49 +020027 cp README_lite.rst build/README.rst
28 cp setup_lite.py build/setup.py
29 cp stdeb_lite.cfg build/stdeb.cfg
30 cp -r osm_openvim/ build/lib_osm_openvim
mirabal9f657102017-04-10 20:05:40 +020031 rm build/lib_osm_openvim/httpserver.py
32 rm build/lib_osm_openvim/openvimd.cfg
33 cp -r database_utils build/lib_osm_openvim/
34 cp -r scripts build/lib_osm_openvim/
garciadeblas8b7767b2017-04-20 19:21:49 +020035 cp openflow build/openflow-lib
36 sed -i "s/from osm_openvim/from lib_osm_openvim/g" build/openflow-lib
37 sed -i "s/import osm_openvim/import lib_osm_openvim/g" build/openflow-lib
garciadeblas0119d7d2017-04-21 07:10:23 +020038 sed -i "s/import osm_openvim; print osm_openvim\.__path__\[0\]/import lib_osm_openvim; print lib_osm_openvim\.__path__\[0\]/g" build/lib_osm_openvim/database_utils/migrate_vim_db.sh
garciadeblas7fa5a652017-04-26 17:55:43 +020039 sed -i "s/__import__(\"osm_openvim\.\"/__import__(\"lib_osm_openvim\.\"/g" build/lib_osm_openvim/ovim.py
mirabal9f657102017-04-10 20:05:40 +020040
41prepare:
garciadeblas334af282017-04-24 18:56:07 +020042 pip install --user --upgrade setuptools
mirabal9f657102017-04-10 20:05:40 +020043 mkdir -p build
garciadeblas8b7767b2017-04-20 19:21:49 +020044 VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
45 VER2=$(shell git describe | cut -d- -f2); \
46 VER3=$(shell git describe | cut -d- -f3); \
47 echo "$$VER1.dev$$VER2+$$VER3" > build/OPENVIM_VERSION
48 cp MANIFEST.in build/
49 cp README.rst build/
50 cp setup.py build/
51 cp stdeb.cfg build/
mirabal9f657102017-04-10 20:05:40 +020052 cp -r osm_openvim/ build/
53 cp -r scripts build/osm_openvim/
54 cp -r database_utils build/osm_openvim/
55 cp -r templates build/osm_openvim/
56 cp -r test build/osm_openvim/
57 cp -r charm build/osm_openvim/
mirabal9f657102017-04-10 20:05:40 +020058 cp openflow build/
59 cp openvim build/
60 cp openvimd build/
61
62build: prepare
63 python -m py_compile build/osm_openvim/*.py
64
65build_lite: prepare_lite
66 python -m py_compile build/lib_osm_openvim/*.py
67
mirabal9f657102017-04-10 20:05:40 +020068pip: clean build
garciadeblas0119d7d2017-04-21 07:10:23 +020069 cd build && ./setup.py sdist
mirabald87877c2017-03-31 15:15:52 +020070
mirabal9f657102017-04-10 20:05:40 +020071pip_lite: clean build_lite
garciadeblas0119d7d2017-04-21 07:10:23 +020072 cd build && ./setup.py sdist
mirabald87877c2017-03-31 15:15:52 +020073
garciadeblas0119d7d2017-04-21 07:10:23 +020074package_openvim: clean prepare
garciadeblas8b7767b2017-04-20 19:21:49 +020075 #apt-get install -y python-stdeb
76 cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
77 cd build && cp osm_openvim/scripts/python-osm-openvim.postinst deb_dist/osm-openvim*/debian/
78 cd build/deb_dist/osm-openvim* && dpkg-buildpackage -rfakeroot -uc -us
garciadeblas0119d7d2017-04-21 07:10:23 +020079 mkdir -p .build
garciadeblas6ea01322017-04-24 10:58:56 +020080 cp build/deb_dist/python-*.deb .build/
garciadeblas8b7767b2017-04-20 19:21:49 +020081
garciadeblas0119d7d2017-04-21 07:10:23 +020082package_lib: clean prepare_lite
garciadeblas8b7767b2017-04-20 19:21:49 +020083 #apt-get install -y python-stdeb
84 cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
85 cd build/deb_dist/lib-osm-openvim* && dpkg-buildpackage -rfakeroot -uc -us
garciadeblas0119d7d2017-04-21 07:10:23 +020086 mkdir -p .build
garciadeblas6ea01322017-04-24 10:58:56 +020087 cp build/deb_dist/python-*.deb .build/
garciadeblas0119d7d2017-04-21 07:10:23 +020088
89package: clean_deb package_openvim package_lib
garciadeblas8b7767b2017-04-20 19:21:49 +020090
91snap:
92 echo "Nothing to be done yet"
93
mirabal9f657102017-04-10 20:05:40 +020094install: clean build
garciadeblas7fa5a652017-04-26 17:55:43 +020095 #cd build/dist; pip install --user osm_openvim*
garciadeblas0119d7d2017-04-21 07:10:23 +020096 cd build/dist; pip install osm_openvim*
mirabal9f657102017-04-10 20:05:40 +020097
98install_lite: clean build_lite
garciadeblas7fa5a652017-04-26 17:55:43 +020099 #cd build/dist; pip install --user lib_osm_openvim-*
garciadeblas0119d7d2017-04-21 07:10:23 +0200100 cd build/dist; pip install lib_osm_openvim-*
mirabal9f657102017-04-10 20:05:40 +0200101
102