#############################################################################
# Makefile for building: bearer
# Generated by qmake (2.01a) (Qt 4.7.4) on: Wed Jul 18 13:35:17 2012
# Project:  bearer.pro
# Template: subdirs
# Command: c:\Qt\4.7.4\bin\qmake -o Makefile bearer.pro
#############################################################################

first: make_default
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    =  \
		sub-generic \
		sub-nativewifi

generic\$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) generic\ $(MKDIR) generic\ 
	cd generic\ && $(QMAKE) c:\Qt\4.7.4\src\plugins\bearer\generic\generic.pro -o $(MAKEFILE)
sub-generic-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) generic\ $(MKDIR) generic\ 
	cd generic\ && $(QMAKE) c:\Qt\4.7.4\src\plugins\bearer\generic\generic.pro -o $(MAKEFILE)
sub-generic: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE)
sub-generic-make_default: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) 
sub-generic-make_first: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) first
sub-generic-all: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) all
sub-generic-clean: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) clean
sub-generic-distclean: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) distclean
sub-generic-install_subtargets: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) install
sub-generic-uninstall_subtargets: generic\$(MAKEFILE) FORCE
	cd generic\ && $(MAKE) -f $(MAKEFILE) uninstall
nativewifi\$(MAKEFILE): 
	@$(CHK_DIR_EXISTS) nativewifi\ $(MKDIR) nativewifi\ 
	cd nativewifi\ && $(QMAKE) c:\Qt\4.7.4\src\plugins\bearer\nativewifi\nativewifi.pro -o $(MAKEFILE)
sub-nativewifi-qmake_all:  FORCE
	@$(CHK_DIR_EXISTS) nativewifi\ $(MKDIR) nativewifi\ 
	cd nativewifi\ && $(QMAKE) c:\Qt\4.7.4\src\plugins\bearer\nativewifi\nativewifi.pro -o $(MAKEFILE)
sub-nativewifi: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE)
sub-nativewifi-make_default: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) 
sub-nativewifi-make_first: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) first
sub-nativewifi-all: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) all
sub-nativewifi-clean: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) clean
sub-nativewifi-distclean: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) distclean
sub-nativewifi-install_subtargets: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) install
sub-nativewifi-uninstall_subtargets: nativewifi\$(MAKEFILE) FORCE
	cd nativewifi\ && $(MAKE) -f $(MAKEFILE) uninstall

Makefile: bearer.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 \
		..\..\..\mkspecs\features\debug.prf \
		..\..\..\mkspecs\features\debug_and_release.prf \
		..\..\..\mkspecs\features\default_post.prf \
		..\..\..\mkspecs\features\win32\default_post.prf \
		..\..\..\mkspecs\features\win32\msvc_mp.prf \
		..\..\..\mkspecs\features\win32\exceptions.prf \
		..\..\..\mkspecs\features\win32\stl.prf \
		..\..\..\mkspecs\features\shared.prf \
		..\..\..\mkspecs\features\win32\embed_manifest_exe.prf \
		..\..\..\mkspecs\features\win32\embed_manifest_dll.prf \
		..\..\..\mkspecs\features\warn_on.prf \
		..\..\..\mkspecs\features\qt.prf \
		..\..\..\mkspecs\features\win32\thread.prf \
		..\..\..\mkspecs\features\moc.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 bearer.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:
..\..\..\mkspecs\features\debug.prf:
..\..\..\mkspecs\features\debug_and_release.prf:
..\..\..\mkspecs\features\default_post.prf:
..\..\..\mkspecs\features\win32\default_post.prf:
..\..\..\mkspecs\features\win32\msvc_mp.prf:
..\..\..\mkspecs\features\win32\exceptions.prf:
..\..\..\mkspecs\features\win32\stl.prf:
..\..\..\mkspecs\features\shared.prf:
..\..\..\mkspecs\features\win32\embed_manifest_exe.prf:
..\..\..\mkspecs\features\win32\embed_manifest_dll.prf:
..\..\..\mkspecs\features\warn_on.prf:
..\..\..\mkspecs\features\qt.prf:
..\..\..\mkspecs\features\win32\thread.prf:
..\..\..\mkspecs\features\moc.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 bearer.pro

qmake_all: sub-generic-qmake_all sub-nativewifi-qmake_all FORCE

make_default: sub-generic-make_default sub-nativewifi-make_default FORCE
make_first: sub-generic-make_first sub-nativewifi-make_first FORCE
all: sub-generic-all sub-nativewifi-all FORCE
clean: sub-generic-clean sub-nativewifi-clean FORCE
distclean: sub-generic-distclean sub-nativewifi-distclean FORCE
	-$(DEL_FILE) Makefile
install_subtargets: sub-generic-install_subtargets sub-nativewifi-install_subtargets FORCE
uninstall_subtargets: sub-generic-uninstall_subtargets sub-nativewifi-uninstall_subtargets FORCE

sub-generic-sub_Debug: generic\$(MAKEFILE)
	cd generic\ && $(MAKE) debug
sub-nativewifi-sub_Debug: nativewifi\$(MAKEFILE)
	cd nativewifi\ && $(MAKE) debug
debug: sub-generic-sub_Debug sub-nativewifi-sub_Debug

sub-generic-sub_Release: generic\$(MAKEFILE)
	cd generic\ && $(MAKE) release
sub-nativewifi-sub_Release: nativewifi\$(MAKEFILE)
	cd nativewifi\ && $(MAKE) release
release: sub-generic-sub_Release sub-nativewifi-sub_Release

sub-generic-check: generic\$(MAKEFILE)
	cd generic\ && $(MAKE) check
sub-nativewifi-check: nativewifi\$(MAKEFILE)
	cd nativewifi\ && $(MAKE) check
check: sub-generic-check sub-nativewifi-check

mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all
install: install_subtargets  FORCE

uninstall:  uninstall_subtargets FORCE

FORCE:

