# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2005 The Trustees of Princeton University
#
-# $Id: Makefile,v 1.7 2006/11/08 23:27:52 mlhuang Exp $
+# $Id: Makefile,v 1.8 2006/11/10 06:34:19 mlhuang Exp $
#
# Metafiles
-INIT := PLC/__init__.py PLC/Methods/__init__.py
+init := PLC/__init__.py PLC/Methods/__init__.py
+
+# Python modules
+modules := psycopg2 pycurl
+modules-install := $(foreach module, $(modules), $(module)-install)
+modules-clean := $(foreach module, $(modules), $(module)-clean)
# Other stuff
-SUBDIRS := doc php php/xmlrpc
+subdirs := doc php php/xmlrpc
# autoconf compatible variables
DESTDIR := /plc/root
PWD := $(shell pwd)
-all: $(INIT) $(SUBDIRS)
+all: $(init) $(subdirs) $(modules)
python setup.py build
- # Install in the current directory so that we can import it
- cd psycopg2 && \
- python setup.py build && \
- python setup.py install --install-lib=$(PWD)
-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
- (cd psycopg2 && \
- python setup.py install --install-lib=$(DESTDIR)/$(datadir)/plc_api)
install -D -m 755 php/xmlrpc/xmlrpc.so $(DESTDIR)/$(shell php-config --extension-dir)/xmlrpc.so
-$(SUBDIRS): %:
+$(subdirs): $(init)
+
+$(subdirs): %:
$(MAKE) -C $@
-clean:
+$(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
python setup.py clean && rm -rf build
- cd psycopg2 && python setup.py clean && rm -rf build
-index: $(INIT)
+index: $(init)
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))
PLC_init := all = '$(notdir $(PLC:.py=))'.split()
force:
-.PHONY: all install force clean index tags $(SUBDIRS)
+.PHONY: all install force clean index tags $(subdirs) $(modules)