all: install

install: pywmi-installed pycom-installed
build: pywmi-build pycom-build

ifeq ($(PYTHON),)
PYTHON=python
endif

PYLIBDIR=	$(ZENHOME)/lib/python
ZENBIN=		$(ZENHOME)/bin
PYINCLUDE=	$(shell $(PYTHON) pyinclude.py)
VERSION:=$(shell cd pycom ; python -c 'import pythoncom as p; print p.VERSION')

LIBSUFFIX=so
ifeq ($(shell uname), Darwin)
LIBSUFFIX=dylib
endif

pywmi-build:
	cd Samba/source ;						\
	./autogen.sh ;							\
	CPPFLAGS="-I$(PYINCLUDE)" \
	./configure --without-readline ;	\
	$(MAKE) proto bin/wmic bin/wmis wmi/_pywmi.$(LIBSUFFIX) bin/winexe
	touch $@

pywmi-installed: $(DESTDIR)$(PYLIBDIR) $(DESTDIR)$(ZENBIN) pywmi-build
	cd Samba/source ; \
	cp bin/winexe $(DESTDIR)$(ZENBIN) ; \
	cp bin/wmic $(DESTDIR)$(ZENBIN) ; \
	cp wmi/_pywmi.$(LIBSUFFIX) $(DESTDIR)$(PYLIBDIR)/_pywmi.so ; \
	cp wmi/pywmi.py $(DESTDIR)$(PYLIBDIR)

$(DESTDIR)$(ZENBIN) $(DESTDIR)$(PYLIBDIR):
	mkdir -p $@

clean:
	cd pycom && rm -rf build
	cd Samba/source && make clean
	rm -f ./Samba/source/wmi/_pywmi.$(LIBSUFFIX)

pycom-build:
	cd pycom ; \
	python setup.py build
	touch $@


pycom-installed: pycom-build
	cd pycom ; \
	python setup.py install				\
		    --install-lib="$(PYLIBDIR)"		\
		    --install-scripts="$(ZENBIN)"	\
		    --root="$(DESTDIR)"

tarball:
	-svn rm -m 'cleanup' http://dev.zenoss.org/svn/tags/wmi-$(VERSION)
	svn cp -m "tagging wmi-$(VERSION)" http://dev.zenoss.org/svn/trunk/wmi http://dev.zenoss.org/svn/tags/wmi-$(VERSION)
	svn export http://dev.zenoss.org/svn/tags/wmi-$(VERSION)
	tar -cjf ../wmi-$(VERSION).tar.bz2 wmi-$(VERSION)
	rm -rf wmi-$(VERSION)

.PHONY: tarball pycom-installed pycom-build clean pywmi-installed pywmi-build
