X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=de39e71bd84795f4e94590b24f327f8319aa8caa;hb=b61d8ffdffacf13982fc1522c61e06e5f69d4679;hp=406a9bcc72b617d758a58588d0c38dfbc6ae8286;hpb=c5d4491c07725ab3ea75e587c7029f28196c7ce3;p=plcapi.git diff --git a/Makefile b/Makefile index 406a9bc..de39e71 100644 --- a/Makefile +++ b/Makefile @@ -4,39 +4,74 @@ # Mark Huang # Copyright (C) 2005 The Trustees of Princeton University # -# $Id: Makefile,v 1.3 2006/11/03 20:36:05 thierry Exp $ +# $Id: Makefile,v 1.11 2006/12/18 17:55:58 mlhuang Exp $ # # Metafiles -INIT := PLC/__init__.py PLC/Methods/__init__.py +init := PLC/__init__.py PLC/Methods/__init__.py + +# Python modules +modules := psycopg2 + +# Temporarily until we can kill the Fedora Core 2 build +curl_vernum := $(shell printf %d 0x$(shell curl-config --vernum)) +pycurl_vernum := $(shell printf %d 0x070d01) # 7.13.1 +ifeq ($(shell test $(curl_vernum) -ge $(pycurl_vernum) && echo 1),1) +modules += pycurl +endif + +modules-install := $(foreach module, $(modules), $(module)-install) +modules-clean := $(foreach module, $(modules), $(module)-clean) # Other stuff -SUBDIRS := doc php +subdirs := doc php php/xmlrpc # autoconf compatible variables DESTDIR := /plc/root datadir := /usr/share bindir := /usr/bin -all: $(INIT) $(SUBDIRS) +PWD := $(shell pwd) + +all: $(init) $(subdirs) $(modules) python setup.py build -install: +install: $(modules-install) python setup.py install \ --install-purelib=$(DESTDIR)/$(datadir)/plc_api \ --install-scripts=$(DESTDIR)/$(datadir)/plc_api \ --install-data=$(DESTDIR)/$(datadir)/plc_api + install -D -m 755 php/xmlrpc/xmlrpc.so $(DESTDIR)/$(shell php-config --extension-dir)/xmlrpc.so + install -D -m 755 refresh-peer.py $(DESTDIR)/$(bindir)/refresh-peer.py -$(SUBDIRS): %: +$(subdirs): $(init) $(modules) + +$(subdirs): %: $(MAKE) -C $@ -clean: - find . -name '*.pyc' -execdir rm -f {} \; +$(modules): + # Install in the current directory so that we can import it while developing + cd $@ && \ + python setup.py build && \ + python setup.py install_lib --install-dir=$(PWD) + +$(modules-install): %-install: + cd $* && \ + python setup.py install_lib --install-dir=$(DESTDIR)/$(datadir)/plc_api + +$(modules-clean): %-clean: + cd $* && python setup.py clean && rm -rf build + +clean: $(modules-clean) + find . -name '*.pyc' | xargs rm -f rm -f $(INIT) for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir clean ; done - rm -rf build + python setup.py clean && rm -rf build + +index: $(init) -index: PLC/__init__.py PLC/Methods/__init__.py +tags: + find . '(' -name '*.py' -o -name '*.sql' -o -name '*.php' -o -name Makefile ')' | xargs etags # All .py files in PLC/ PLC := $(filter-out %/__init__.py, $(wildcard PLC/*.py)) @@ -62,4 +97,4 @@ endif force: -.PHONY: all install force clean $(SUBDIRS) +.PHONY: all install force clean index tags $(subdirs) $(modules)