#############################################################################
# Makefile for building: QtUiTools
# Generated by qmake (2.01a) (Qt 4.7.4) on: Wed Jul 18 13:35:33 2012
# Project:  uitools.pro
# Template: lib
# Command: c:\Qt\4.7.4\bin\qmake -o Makefile uitools.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: uitools.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 \
		..\..\..\..\src\qt_targets.pri \
		..\lib\uilib\uilib.pri \
		..\..\..\..\include\QtUiTools\headers.pri \
		..\..\..\..\mkspecs\features\debug.prf \
		..\..\..\..\mkspecs\features\debug_and_release.prf \
		..\..\..\..\mkspecs\features\default_post.prf \
		..\..\..\..\mkspecs\features\win32\default_post.prf \
		..\..\..\..\mkspecs\features\staticlib.prf \
		..\..\..\..\mkspecs\features\static.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\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 uitools.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:
..\..\..\..\src\qt_targets.pri:
..\lib\uilib\uilib.pri:
..\..\..\..\include\QtUiTools\headers.pri:
..\..\..\..\mkspecs\features\debug.prf:
..\..\..\..\mkspecs\features\debug_and_release.prf:
..\..\..\..\mkspecs\features\default_post.prf:
..\..\..\..\mkspecs\features\win32\default_post.prf:
..\..\..\..\mkspecs\features\staticlib.prf:
..\..\..\..\mkspecs\features\static.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\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 uitools.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) ..\..\..\..\lib\QtUiTools4.ilk
	-$(DEL_FILE) vc*.pdb
	-$(DEL_FILE) vc*.idb
distclean: debug-distclean release-distclean FORCE
	-$(DEL_FILE) Makefile
	-$(DEL_FILE) ..\..\..\..\lib\QtUiTools4.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
