#############################################################################
# Makefile for building: QtDesigner
# Generated by qmake (2.01a) (Qt 4.7.4) on: Wed Jul 18 13:35:36 2012
# Project:  lib.pro
# Template: lib
# Command: c:\Qt\4.7.4\bin\qmake -o Makefile lib.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: lib.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 \
		..\..\..\..\include\QtDesigner\headers.pri \
		extension\extension.pri \
		sdk\sdk.pri \
		uilib\uilib.pri \
		..\..\..\shared\qtpropertybrowser\qtpropertybrowser.pri \
		..\..\..\shared\deviceskin\deviceskin.pri \
		..\..\..\..\src\tools\rcc\rcc.pri \
		..\..\..\shared\findwidget\findwidget.pri \
		..\..\..\shared\qtgradienteditor\qtgradienteditor.pri \
		shared\shared.pri \
		..\sharedcomponents.pri \
		..\components\component.pri \
		..\..\..\..\mkspecs\features\debug.prf \
		..\..\..\..\mkspecs\features\debug_and_release.prf \
		..\..\..\..\mkspecs\features\default_post.prf \
		..\..\..\..\mkspecs\features\win32\default_post.prf \
		..\..\..\..\mkspecs\features\dll.prf \
		..\..\..\..\mkspecs\features\shared.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 lib.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:
..\..\..\..\include\QtDesigner\headers.pri:
extension\extension.pri:
sdk\sdk.pri:
uilib\uilib.pri:
..\..\..\shared\qtpropertybrowser\qtpropertybrowser.pri:
..\..\..\shared\deviceskin\deviceskin.pri:
..\..\..\..\src\tools\rcc\rcc.pri:
..\..\..\shared\findwidget\findwidget.pri:
..\..\..\shared\qtgradienteditor\qtgradienteditor.pri:
shared\shared.pri:
..\sharedcomponents.pri:
..\components\component.pri:
..\..\..\..\mkspecs\features\debug.prf:
..\..\..\..\mkspecs\features\debug_and_release.prf:
..\..\..\..\mkspecs\features\default_post.prf:
..\..\..\..\mkspecs\features\win32\default_post.prf:
..\..\..\..\mkspecs\features\dll.prf:
..\..\..\..\mkspecs\features\shared.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 lib.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\QtDesigner.intermediate.manifest"
	-$(DEL_FILE) tmp\obj\debug_shared\QtDesigner_pch.pch
	-$(DEL_FILE) ..\..\..\..\lib\QtDesigner4.exp
	-$(DEL_FILE) ..\..\..\..\lib\QtDesigner4.ilk
	-$(DEL_FILE) vc*.pdb
	-$(DEL_FILE) vc*.idb
distclean: debug-distclean release-distclean FORCE
	-$(DEL_FILE) Makefile
	-$(DEL_FILE) ..\..\..\..\lib\QtDesigner4.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
