98 lines
3.1 KiB
Makefile
98 lines
3.1 KiB
Makefile
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
PREFIX=/usr/local
|
|
EXEC_PREFIX=$(PREFIX)/bin
|
|
DATA_DIR=$(PREFIX)/share
|
|
|
|
PYTHON_LIB=$(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='$(PREFIX)')")
|
|
PYTHON_VERSION=$(shell python -c "from distutils.sysconfig import get_python_version; print get_python_version()")
|
|
|
|
ddfirst=$(shell ddir=$(DATA_DIR) && echo $${ddir:0:1})
|
|
ifeq ($(ddfirst),/)
|
|
AMQP_SPEC_DIR=$(DATA_DIR)/amqp
|
|
else
|
|
AMQP_SPEC_DIR=$(PWD)/$(DATA_DIR)/amqp
|
|
endif
|
|
|
|
DIRS=qmf qpid mllib models examples tests tests_0-8 tests_0-9 tests_0-10
|
|
SRCS=$(shell find $(DIRS) -name "*.py") qpid_config.py
|
|
BUILD=build
|
|
TARGETS=$(SRCS:%.py=$(BUILD)/%.py)
|
|
|
|
PYCC=python -O -c "import compileall; compileall.main()"
|
|
|
|
all: build
|
|
|
|
$(BUILD)/%.py: %.py
|
|
@mkdir -p $(shell dirname $@)
|
|
./preppy $(PYTHON_VERSION) < $< > $@
|
|
|
|
build: $(TARGETS)
|
|
|
|
.PHONY: doc
|
|
|
|
doc:
|
|
@mkdir -p $(BUILD)
|
|
PYTHONPATH=. epydoc qpid.messaging -o $(BUILD)/doc --no-private --no-sourcecode --include-log
|
|
|
|
install: build
|
|
install -d $(PYTHON_LIB)
|
|
|
|
install -d $(PYTHON_LIB)/mllib
|
|
install -pm 0644 LICENSE.txt NOTICE.txt $(BUILD)/mllib/*.* $(PYTHON_LIB)/mllib
|
|
$(PYCC) $(PYTHON_LIB)/mllib
|
|
|
|
install -d $(PYTHON_LIB)/qpid
|
|
install -pm 0644 LICENSE.txt NOTICE.txt README.txt $(BUILD)/qpid/*.* $(PYTHON_LIB)/qpid
|
|
TDIR=$(shell mktemp -d) && \
|
|
sed s@AMQP_SPEC_DIR=.*@AMQP_SPEC_DIR='"$(AMQP_SPEC_DIR)"'@ \
|
|
$(BUILD)/qpid_config.py > $${TDIR}/qpid_config.py && \
|
|
install -pm 0644 $${TDIR}/qpid_config.py $(PYTHON_LIB) && \
|
|
rm -rf $${TDIR}
|
|
|
|
install -d $(PYTHON_LIB)/qpid/tests
|
|
install -pm 0644 $(BUILD)/qpid/tests/*.* $(PYTHON_LIB)/qpid/tests
|
|
$(PYCC) $(PYTHON_LIB)/qpid
|
|
|
|
install -d $(PYTHON_LIB)/qmf
|
|
install -pm 0644 LICENSE.txt NOTICE.txt qmf/*.* $(PYTHON_LIB)/qmf
|
|
$(PYCC) $(PYTHON_LIB)/qmf
|
|
|
|
install -d $(PYTHON_LIB)/tests
|
|
install -pm 0644 $(BUILD)/tests/*.* $(PYTHON_LIB)/tests
|
|
$(PYCC) $(PYTHON_LIB)/tests
|
|
|
|
install -d $(PYTHON_LIB)/tests_0-8
|
|
install -pm 0644 $(BUILD)/tests_0-8/*.* $(PYTHON_LIB)/tests_0-8
|
|
$(PYCC) $(PYTHON_LIB)/tests_0-8
|
|
|
|
install -d $(PYTHON_LIB)/tests_0-9
|
|
install -pm 0644 $(BUILD)/tests_0-9/*.* $(PYTHON_LIB)/tests_0-9
|
|
$(PYCC) $(PYTHON_LIB)/tests_0-9
|
|
|
|
install -d $(PYTHON_LIB)/tests_0-10
|
|
install -pm 0644 $(BUILD)/tests_0-10/*.* $(PYTHON_LIB)/tests_0-10
|
|
$(PYCC) $(PYTHON_LIB)/tests_0-10
|
|
|
|
install -d $(EXEC_PREFIX)
|
|
install -pm 0755 qpid-python-test commands/* $(EXEC_PREFIX)
|
|
|
|
clean:
|
|
rm -rf $(BUILD)
|