#! /bin/sh # Stop script on first error. set -e # Retrieve libnfc version from configure.ac LIBNFC_VERSION=$(grep AC_INIT configure.ac | sed 's/^.*(\(.*\))/\1/g' | awk -F', ' '{ print $2 }') # Easiest part: GNU/linux, BSD and other POSIX systems. LIBNFC_AUTOTOOLS_ARCHIVE=libnfc-$LIBNFC_VERSION.tar.gz if [ ! -f $LIBNFC_AUTOTOOLS_ARCHIVE ]; then echo "Autotooled archive generation..." # First, clean what we can autoreconf -is && ./configure && make distclean # Second, generate dist archive (and test it) autoreconf -is && ./configure && make distcheck # Finally, clean up make distclean echo "Autotooled archive generate." else echo "Autotooled archive (GNU/Linux, BSD, etc.) is already done: skipped." fi # Documentation part LIBNFC_DOC_DIR=libnfc-doc-$LIBNFC_VERSION LIBNFC_DOC_ARCHIVE=$LIBNFC_DOC_DIR.zip if [ ! -f $LIBNFC_DOC_ARCHIVE ]; then echo "Documentation archive generation..." if [ -d $LIBNFC_DOC_DIR ]; then rm -rf $LIBNFC_DOC_DIR fi # Build documentation autoreconf -is && ./configure --enable-doc && make doc || false # Create archive cp -r doc/html $LIBNFC_DOC_DIR zip -r $LIBNFC_DOC_ARCHIVE $LIBNFC_DOC_DIR # Clean up rm -rf $LIBNFC_DOC_DIR make distclean echo "Documentation archive generated." else echo "Documentation archive is already done: skipped." fi # Windows part LIBNFC_WINDOWS_DIR=libnfc-$LIBNFC_VERSION-winsdk LIBNFC_WINDOWS_ARCHIVE=$LIBNFC_WINDOWS_DIR.zip if [ ! -f $LIBNFC_WINDOWS_ARCHIVE ]; then echo "Windows archive generation..." if [ -d $LIBNFC_WINDOWS_DIR ]; then rm -rf $LIBNFC_WINDOWS_DIR fi mkdir -p $LIBNFC_WINDOWS_DIR # Export sources svn export src $LIBNFC_WINDOWS_DIR/src # Export windows files svn export win32 $LIBNFC_WINDOWS_DIR/win32 # Copy important files cp AUTHORS $LIBNFC_WINDOWS_DIR/AUTHORS.txt cp LICENSE $LIBNFC_WINDOWS_DIR/LICENSE.txt # Remove Autotools Makefile.am find $LIBNFC_WINDOWS_DIR/ -name Makefile.am | xargs rm -f # Remove CMakeLists.txt find $LIBNFC_WINDOWS_DIR/ -name CMakeLists.txt | xargs rm -f # Build archive zip -r $LIBNFC_WINDOWS_ARCHIVE $LIBNFC_WINDOWS_DIR rm -rf $LIBNFC_WINDOWS_DIR echo "Windows archive generated." else echo "Windows archive is already done: skipped." fi