diff --git a/clean.do b/clean.do index d88fdf2..23e993b 100644 --- a/clean.do +++ b/clean.do @@ -5,6 +5,6 @@ if [ -e .do_built ]; then fi [ -z "$DO_BUILT" ] && rm -rf .do_built .do_built.dir redo t/clean Documentation/clean -rm -f *~ .*~ */*~ */.*~ *.pyc +rm -f *~ .*~ */*~ */.*~ *.pyc install.wrapper rm -rf t/.redo find -name '*.tmp' -exec rm -fv {} \; diff --git a/install.do b/install.do new file mode 100644 index 0000000..b224e21 --- /dev/null +++ b/install.do @@ -0,0 +1,39 @@ +exec >&2 +redo-ifchange Documentation/all + +: ${INSTALL:=install} +: ${DESTDIR:=} +: ${PREFIX:=/usr} +: ${MANDIR:=$DESTDIR$PREFIX/share/man} +: ${DOCDIR:=$DESTDIR$PREFIX/share/doc/redo} +: ${BINDIR:=$DESTDIR$PREFIX/bin} +: ${LIBDIR:=$DESTDIR$PREFIX/lib/redo} + +echo "Installing to: $DESTDIR$PREFIX" + +# make dirs +$INSTALL -d $MANDIR/man1 $DOCDIR $BINDIR $LIBDIR + +# docs +$INSTALL -m 0644 Documentation/*.1 $MANDIR/man1 +$INSTALL -m 0644 README.md $DOCDIR + +# .py files (precompiled to .pyc files for speed) +for d in *.py; do + fix=$(echo $d | sed 's,-,_,g') + $INSTALL -m 0644 $d $LIBDIR/$fix +done +python -mcompileall $LIBDIR + +# binaries +for d in redo redo-ifchange redo-ifcreate redo-always redo-stamp redo-oob; do + fix=$(echo $d | sed 's,-,_,g') + cat >install.wrapper <<-EOF + #!/usr/bin/python + import sys; + sys.path.insert(0, '$LIBDIR') + import $fix + EOF + $INSTALL -m 0755 install.wrapper $BINDIR/$d +done +rm -f install.wrapper