#############################################################################
# Makefile for building: qsvg
# Generated by qmake (2.01a) (Qt 4.7.4) on: Wed Jul 18 13:35:21 2012
# Project:  svg.pro
# Template: lib
# Command: c:\Qt\4.7.4\bin\qmake -o Makefile svg.pro
#############################################################################

first: all
install: debug-install release-install 
uninstall: debug-uninstall release-uninstall 
MAKEFILE      = Makefile
QMAKE         = c:\Qt\4.7.4\bin\qmake
DEL_FILE      = del
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
INSTALL_FILE  = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = del
SYMLINK       = 
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
SUBTARGETS    =  \
		debug \
		release

debug: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug 
debug-make_first: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
	$(MAKE) -f $(MAKEFILE).Debug uninstall
release: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release 
release-make_first: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
	$(MAKE) -f $(MAKEFILE).Release uninstall

Makefile: svg.pro ..\..\..\..\.qmake.cache ..\..\..\..\mkspecs\win32-msvc2008\qmake.conf ..\..\..\..\mkspecs\features\exclusive_builds.prf \
		..\..\..\..\mkspecs\features\default_pre.prf \
		..\..\..\..\mkspecs\features\win32\default_pre.prf \
		..\..\..\..\.qmake.cache \
		..\..\..\..\mkspecs\qconfig.pri \
		..\..\..\..\mkspecs\modules\qt_webkit_version.pri \
		..\..\..\..\mkspecs\features\qt_functions.prf \
		..\..\..\..\mkspecs\features\qt_config.prf \
		..\..\..\qt_targets.pri \
		..\..\qpluginbase.pri \
		..\..\..\..\mkspecs\features\debug.prf \
		..\..\..\..\mkspecs\features\debug_and_release.prf \
		..\..\..\..\mkspecs\features\default_post.prf \
		..\..\..\..\mkspecs\features\win32\default_post.prf \
		..\..\..\..\mkspecs\features\qt.prf \
		..\..\..\..\mkspecs\features\win32\thread.prf \
		..\..\..\..\mkspecs\features\moc.prf \
		..\..\..\..\mkspecs\features\win32\msvc_mp.prf \
		..\..\..\..\mkspecs\features\win32\exceptions.prf \
		..\..\..\..\mkspecs\features\win32\stl.prf \
		..\..\..\..\mkspecs\features\shared.prf \
		..\..\..\..\mkspecs\features\dll.prf \
		..\..\..\..\mkspecs\features\win32\embed_manifest_exe.prf \
		..\..\..\..\mkspecs\features\win32\embed_manifest_dll.prf \
		..\..\..\..\mkspecs\features\warn_on.prf \
		..\..\..\..\mkspecs\features\win32\windows.prf \
		..\..\..\..\mkspecs\features\win32\rtti_off.prf \
		..\..\..\..\mkspecs\features\resources.prf \
		..\..\..\..\mkspecs\features\uic.prf \
		..\..\..\..\mkspecs\features\yacc.prf \
		..\..\..\..\mkspecs\features\lex.prf \
		..\..\..\..\mkspecs\features\include_source_dir.prf
	$(QMAKE) -o Makefile svg.pro
..\..\..\..\mkspecs\features\exclusive_builds.prf:
..\..\..\..\mkspecs\features\default_pre.prf:
..\..\..\..\mkspecs\features\win32\default_pre.prf:
..\..\..\..\.qmake.cache:
..\..\..\..\mkspecs\qconfig.pri:
..\..\..\..\mkspecs\modules\qt_webkit_version.pri:
..\..\..\..\mkspecs\features\qt_functions.prf:
..\..\..\..\mkspecs\features\qt_config.prf:
..\..\..\qt_targets.pri:
..\..\qpluginbase.pri:
..\..\..\..\mkspecs\features\debug.prf:
..\..\..\..\mkspecs\features\debug_and_release.prf:
..\..\..\..\mkspecs\features\default_post.prf:
..\..\..\..\mkspecs\features\win32\default_post.prf:
..\..\..\..\mkspecs\features\qt.prf:
..\..\..\..\mkspecs\features\win32\thread.prf:
..\..\..\..\mkspecs\features\moc.prf:
..\..\..\..\mkspecs\features\win32\msvc_mp.prf:
..\..\..\..\mkspecs\features\win32\exceptions.prf:
..\..\..\..\mkspecs\features\win32\stl.prf:
..\..\..\..\mkspecs\features\shared.prf:
..\..\..\..\mkspecs\features\dll.prf:
..\..\..\..\mkspecs\features\win32\embed_manifest_exe.prf:
..\..\..\..\mkspecs\features\win32\embed_manifest_dll.prf:
..\..\..\..\mkspecs\features\warn_on.prf:
..\..\..\..\mkspecs\features\win32\windows.prf:
..\..\..\..\mkspecs\features\win32\rtti_off.prf:
..\..\..\..\mkspecs\features\resources.prf:
..\..\..\..\mkspecs\features\uic.prf:
..\..\..\..\mkspecs\features\yacc.prf:
..\..\..\..\mkspecs\features\lex.prf:
..\..\..\..\mkspecs\features\include_source_dir.prf:
qmake: qmake_all FORCE
	@$(QMAKE) -o Makefile svg.pro

qmake_all: FORCE

make_default: debug-make_default release-make_default FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
	-$(DEL_FILE) "tmp\obj\debug_shared\qsvg.intermediate.manifest"
	-$(DEL_FILE) ..\..\..\..\plugins\imageformats\qsvg4.exp
	-$(DEL_FILE) ..\..\..\..\plugins\imageformats\qsvg4.ilk
	-$(DEL_FILE) vc*.pdb
	-$(DEL_FILE) vc*.idb
distclean: debug-distclean release-distclean FORCE
	-$(DEL_FILE) Makefile
	-$(DEL_FILE) ..\..\..\..\plugins\imageformats\qsvg4.pdb

check: first

debug-mocclean: $(MAKEFILE).Debug
	$(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean: $(MAKEFILE).Release
	$(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean

debug-mocables: $(MAKEFILE).Debug
	$(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables: $(MAKEFILE).Release
	$(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
FORCE:

$(MAKEFILE).Debug: Makefile
$(MAKEFILE).Release: Makefile
