#=============================================================================
#  Mscore
#  Linux Music Score Editor
#  $Id:$
#
#  Copyright (C) 2002-2007 by Werner Schweer and others
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License version 2.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#=============================================================================

REVISION = `cat build/revision.h`
PREFIX  = "/usr/local"
# VERSION = "0.9.0b${REVISION}"
VERSION = "0.9.1"

ROOT=`pwd`

default:
	if test ! -d build;                              \
         then                                          \
            mkdir build;                               \
            cd build;                                  \
            cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}"   \
            	../mscore;                           \
            make lupdate;                              \
            make lrelease;                             \
            make;                                      \
         else                                          \
            cd build; make -f Makefile;                \
         fi;

release:
	if test ! -d build;                              \
         then                                          \
            mkdir build;                               \
            cd build;                                  \
            cmake -DCMAKE_BUILD_TYPE=RELEASE	       \
            	  -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
            	   ../mscore; 			       \
            make lupdate;                              \
            make lrelease;                             \
            make;                                      \
         else                                          \
            echo "build directory does already exist, please remove first with 'make clean'"; \
         fi;

debug:
	if test ! -d build;                              \
         then                                          \
            mkdir build;                               \
            cd build;                                  \
            cmake -DCMAKE_BUILD_TYPE=DEBUG ../mscore;  \
            make lupdate;                              \
            make lrelease;                             \
            make;                                      \
         else                                          \
            echo "build directory does already exist, please remove first with 'make clean'";       \
         fi

#
#  win32
#     cross compile windows package
#     NOTE: there are some hardcoded path in CMake - files
#           will probably only work on my setup (ws)
#
win32:
	if test ! -d win32build;                         \
         then                                          \
            mkdir win32build;                          \
      	if test ! -d win32install;                 \
               then                                    \
                  mkdir win32install;                  \
            fi;                                        \
            cd win32build;                             \
            cmake -DCMAKE_TOOLCHAIN_FILE=../mscore/cmake/mingw32.cmake -DCMAKE_INSTALL_PREFIX=../win32install -DCMAKE_BUILD_TYPE=RELEASE  ../mscore; \
            make lupdate ;                             \
            make lrelease;                             \
            make -j2 -f Makefile;                      \
            make install;                              \
            make package;                              \
         else                                          \
            echo "build directory win32build does alread exist, please remove first"; \
         fi

#
# clean out of source build
#

clean:
	-rm -rf build
	-rm -rf win32build win32install

#
# dist
#     create source distribution
#     - get current version from sourceforge
#     - remove .svn directories
#     - tar
#     - untar & test build
#

dist:
	-rm -rf mscore.dist
	mkdir mscore.dist
	cd mscore.dist; svn co https://mscore.svn.sourceforge.net/svnroot/mscore/trunk mscore-${VERSION}
	svn info mscore | grep Revision | cut -f 2 -d ' ' > mscore/mscore/revision.h
	cd mscore.dist; find . -name .svn -print0 | xargs -0 /bin/rm -rf
	cd mscore.dist; rm -rf mscore-${VERSION}/web
	cd mscore.dist; tar cvfj mscore-${VERSION}.tar.bz2 mscore-${VERSION}
	mv mscore.dist/mscore-${VERSION}.tar.bz2 .
	tar xvofj mscore-${VERSION}.tar.bz2
	cd mscore-${VERSION}
	make -j2 release

revision:
	svn info mscore | grep Revision | cut -f 2 -d ' ' > mscore/mscore/revision.h

install:
	cd build; make install

#
#  linux
#     linux binary package build
#
unix:
	if test ! -d linux;                          \
         then                                      \
            mkdir linux;                           \
            cd unixBuild;                          \
            cmake -DCMAKE_BUILD_TYPE=RELEASE  ../mscore; \
            make -j2 -f Makefile;                  \
            make package;                          \
         else                                      \
            echo "build directory unixBuild does alread exist, please remove first";  \
         fi

man:
	cd build; make man

