| # |
| # Copyright (c) 2013 Big Switch Networks, Inc. |
| # |
| # Licensed under the Eclipse Public License, Version 1.0 (the |
| # "License"); you may not use this file except in compliance with the |
| # License. You may obtain a copy of the License at |
| # |
| # http://www.eclipse.org/legal/epl-v10.html |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| # implied. See the License for the specific language governing |
| # permissions and limitations under the License. |
| |
| SOURCE = $(shell pwd) |
| WORKSPACE = $(SOURCE)/workspace |
| VIRTUALENV = $(WORKSPACE)/ve |
| TOOLS = $(WORKSPACE)/tools |
| BUILD_DIR = $(SOURCE)/build |
| FL_DIR = $(SOURCE)/sdnplatform |
| |
| all: build-sdnplatform |
| |
| clean-python: |
| printf 'import setuptools\nsetuptools.setup(name="django_cassandra", version="0.1", packages=["django_cassandra", "django_cassandra.db"])' >$(SOURCE)/django_cassandra_backend/setup.py |
| echo '$(SOURCE)' >$$(python -c 'import distutils; print distutils.sysconfig.get_python_lib()')/sdnplatform.pth |
| set -e; \ |
| cd $(SOURCE); \ |
| for p in django_cassandra_backend/setup.py sdncon/setup.py cli/setup.py; do \ |
| echo "+++ Preparing Python virtualenv for $$p"; \ |
| ( cd $$(dirname $$p); rm -rf *.egg-info; ARCHFLAGS="-arch i386 -arch x86_64" python $$(basename $$p) develop ); \ |
| done |
| ( cd $(SOURCE)/cli ; tools/rebuild_model.sh ) |
| |
| clean-sdnplatform: |
| cd $(FL_DIR); ant clean |
| |
| clean: reset-cassandra clean-sdnplatform clean-python |
| |
| stop-cassandra: |
| $(BUILD_DIR)/kill-port-wait.sh -p 9160 |
| @echo "+++ Cassandra stopped" |
| |
| reset-cassandra: stop-cassandra |
| rm -rf $(VIRTUALENV)/cassandra |
| @echo "+++ Cassandra db deleted" |
| |
| cassandra: start-cassandra |
| start-cassandra: |
| $(BUILD_DIR)/start-and-wait-for-port.sh -p 9160 -l $(VIRTUALENV)/log/cassandra.log $(TOOLS)/cassandra/bin/cassandra |
| @echo "+++ Cassandra running" |
| |
| stop-sdncon: |
| $(BUILD_DIR)/kill-port-wait.sh -p 8000 |
| @echo "+++ sdncon stopped" |
| |
| reset-sdncon: stop-sdncon reset-cassandra start-cassandra |
| |
| start-sdncon: start-cassandra |
| if ! lsof -iTCP:8000 -sTCP:LISTEN >/dev/null; then \ |
| ( \ |
| cd $(SOURCE)/sdncon; \ |
| [ -d $(VIRTUALENV)/cassandra/data/sdncon ] || python manage.py syncdb --noinput; \ |
| $(BUILD_DIR)/start-and-wait-for-port.sh -p 8000 -l $(VIRTUALENV)/log/sdncon.log python manage.py runserver 0.0.0.0:8000; \ |
| ); \ |
| fi |
| @echo "+++ sdncon running" |
| |
| stop-sdnplatform: |
| while pid=$$(lsof -t -iTCP:6633 -sTCP:LISTEN); do kill $${pid}; sleep 1; done |
| @echo "+++ SDN Platform stopped" |
| |
| start-sdnplatform: start-cassandra |
| if ! lsof -iTCP:6633 -sTCP:LISTEN >/dev/null; then \ |
| ( cd $(SOURCE)/sdnplatform; ant run &>$(VIRTUALENV)/log/sdnplatform.log & ); \ |
| fi |
| while ! nc -z localhost 6633; do sleep 1; done |
| @echo "+++ SDN Platform running" |
| |
| eclipse: |
| cd $(FL_DIR); ant eclipse |
| |
| build-sdnplatform: |
| cd $(FL_DIR); ant dist |