tentatively package unittests in rpm sfa-tests, for the nightlies
[sfa.git] / Makefile
index 04ac659..2446adc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,19 @@
 #
-## (Re)builds Python metafile (__init__.py) and documentation
+## (Re)builds Python metafile (__init__.py) 
 # 
 # overwritten by the specfile
 DESTDIR="/"
 
 ##########
-all: python wsdl
+all: python wsdl 
 
-install: python-install wsdl-install xmlbuilder-install 
+install: python-install wsdl-install xmlbuilder-install tests-install
 
-clean: python-clean wsdl-clean
+clean: python-clean wsdl-clean 
 
-uninstall: python-uninstall
+uninstall: python-uninstall tests-uninstall
 
-.PHONY: all install clean 
+.PHONY: all install clean uninstall
 
 ##########
 python: 
@@ -42,13 +42,48 @@ wsdl-clean:
        $(MAKE) -C wsdl clean
 
 .PHONY: wsdl wsdl-install wsdl-clean
+
+
 ##########
+tests-install:
+       mkdir -p $(DESTDIR)/usr/share/sfa/tests
+       install -m 755 tests/*.py $(DESTDIR)/usr/share/sfa/tests/
+
+tests-uninstall:
+       rm -rf $(DESTDIR)/usr/share/sfa/tests
+
+.PHONY: tests-install tests-uninstall
 
-# are the .java files used ?
+########## refreshing methods package metafile
+# Metafiles - manage Legacy/ and Accessors by hand
+init := sfa/methods/__init__.py 
+
+index: $(init)
+
+index-clean:
+       rm $(init)
+
+methods_now := $(sort $(shell fgrep -v '"' sfa/methods/__init__.py 2>/dev/null))
+# what should be declared
+methods_paths := $(filter-out %/__init__.py, $(wildcard sfa/methods/*.py))
+methods_files := $(sort $(notdir $(methods_paths:.py=)))
+
+ifneq ($(methods_now),$(methods_files))
+sfa/methods/__init__.py: force
+endif
+sfa/methods/__init__.py: 
+       (echo '## Please use make index to update this file' ; echo 'all = """' ; cd sfa/methods; ls -1 *.py | grep -v __init__ | sed -e 's,.py$$,,' ; echo '""".split()') > $@
+
+force:
+
+##########
 tags:  
-       find . -type f | egrep -v '/\.git/|/\.svn/|TAGS|\.py[co]$$|\.doc$$|\.html$$|\.pdf$$' | xargs etags
+       find . -type f | egrep -v '/\.git/|/\.svn/|TAGS|\.py[co]$$|\.doc$$|\.html$$|\.pdf$$|~$$' | xargs etags
 .PHONY: tags
 
+signatures:
+       (cd sfa/methods; grep 'def.*call' *.py > SIGNATURES)
+.PHONY: signatures
 
 ########## sync
 # 2 forms are supported