1# generic Makefile for py_sems applications 2.DEFAULT_GOAL := all 3 4COREPATH ?= ../../core 5PYSEMSPATH ?= ../py_sems 6 7include $(COREPATH)/../Makefile.defs 8include $(PYSEMSPATH)/Makefile.defs 9 10LIB_INSTALLDIR?=$(modules_prefix)/$(py-sems-modules_dir) 11TARBALL_PREFIX=sems-app-${NAME} 12TARBALL="${TARBALL_PREFIX}-${VERSION}.tar.gz" 13 14BASEDIR?=${basedir} 15 16BIN_PERMISSIONS="755" 17LIB_PERMISSIONS="644" 18 19PYCHECKERARGS = --stdlib 20PYCHECKERDOCARGS = --classdoc --funcdoc 21 22module_conf_files = $(notdir $(wildcard etc/*.conf)) 23 24.PHONY: all 25all: clean compile 26 27.PHONY: clean 28clean: 29 find . -iname "*\.pyc" -o -iname "*\.py~" | xargs rm -f 30 rm -f ${TARBALL_PREFIX}*.tar.gz 31 32.PHONY: compile 33compile: 34 python${PYTHON_VERSION} $(PYSEMSPATH)/py_comp -q . 35 36.PHONY: install 37install: all 38 install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR} 39 install -m ${LIB_PERMISSIONS} *.pyc $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR} 40 install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR} 41 install -m ${LIB_PERMISSIONS} ${LIBDIR}/*.pyc $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR} 42 43.PHONY: install-cfg 44install-cfg: 45 mkdir -p $(cfg_target) 46 @set -e ; \ 47 for r in $(module_conf_files); do \ 48 echo installing $$r ; \ 49 $(INSTALL_TOUCH) $(cfg_target)$$r ; \ 50 sed -e "s#/usr/.*lib/sems/audio/#$(audio_target)#g" \ 51 -e "s#/usr/.*lib/sems/plug-in/#$(modules_target)#g" \ 52 -e "s#/usr/.*etc/sems/#$(cfg_target)#g" \ 53 < etc/$$r > $(DESTDIR)$(cfg_target)$$r; \ 54 done 55 56 57uninstall: 58 @echo "please remove the files from $(DESTDIR)${LIB_INSTALLDIR} manually." 59 60fulltest: 61 find | grep /Test | grep -v ".svn" | grep \\.py$$ | sed -e "s#^./##g" | bash -e - 62 63check: 64 find ${LIBDIR}/ | grep \\.py$$ | grep -v Test | PYTHONPATH=$(PYTHONPATH):$(PYSEMSPATH)/moc xargs pychecker ${PYCHECKERARGS} 65 66doccheck: 67 find ${LIBDIR}/ | grep \\.py$$ | grep -v Test | xargs pychecker ${PYCHECKERARGS} ${PYCHECKERDOCARGS} 68 69dist: all 70 tar -cvzf ${TARBALL} . --exclude=*.tar.gz \ 71 --exclude=.svn \ 72 --exclude=*~ \ 73 --exclude=*.pyc 74 75 76 77