#    Copyright (C) 2012 NewestTools.com(AlexLe)
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 2 of the License, or
#    (at your option) any later version.
#
#    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, see <http://www.gnu.org/licenses/>. 

TARGETNAME=GuestShellDll

CC=cl.exe
LINK=link.exe
RC=rc.exe

ifndef _DEBUG

#release flags 

CFLAGS= /EHsc /O2 /GL /FD /D "_MBCS" /GL /MT /D "WIN32"
#/EHsc /O2 /GL /FD /D "_MBCS" /GL /D "WIN32 /W3 /nologo /Wp64 /TP
LDFLAGS_DLL=/LD
LINK_NATIVE_FLAGS=

else

#debug flags

CFLAGS=-D_DEBUG /EHsc /O1 /Zi /Fd../out/$(TARGETNAME)/
LDFLAGS_DLL=/LDd
LINK_NATIVE_FLAGS=

endif

LIBS=user32.lib Wintrust.lib Crypt32.lib ole32.lib shell32.lib ws2_32.lib advapi32.lib gdi32.lib
VBOX_LIBS=RuntimeGuestR3.lib VBoxGuestR3Lib.lib RuntimeR3NtDll-x86.lib
INCLUDES=-I..\utils -I..\inc -I.
DEFINES=-DVBOX -DVBOX_WITH_DEBUGGER -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DRT_OS_WINDOWS \
	-D__WIN__ -DRT_ARCH_X86 -D__X86__ -D__WIN32__ -DIN_RING3 -DIN_GUEST -DIN_GUEST_R3 -DIN_RT_R3\
	 -DGC_ARCH_BITS=64 -DVBOX_WITH_HGCM 

ifdef _DEBUG

DBGSRCS=../utils/ChkMAlloc.cpp

endif

SRCS=DllMain.cpp\
	DragDropGuest.cpp\
	DropFilesDataObject.cpp\
	$(DBGSRCS)\
	PathFromPoint.cpp\
	../utils/DbgPrintf.cpp\
	../utils/FilesCopier.cpp\
	ExplorerClassFactory.cpp\
	ExplorerContextMenu.cpp\
	../utils/WinTools.cpp\
	PasteFilesFromHost.cpp\
	../utils/FileOperationsProgressDlgs.cpp\
	../utils/ConfirmDlg.cpp\
	../utils/LangTools.cpp\
	GuestCalls.cpp\
	GuestServer.cpp\
	../utils/PackedArgs.cpp\
	../utils/CopyFilesHandler.cpp\
	../utils/Settings.cpp	

..\out\$(TARGETNAME).dll: $(SRCS) ..\out\$(TARGETNAME)\res.res
	if not exist ..\out\$(TARGETNAME) mkdir ..\out\$(TARGETNAME)
	$(CC) $(CFLAGS) $(LDFLAGS_DLL) -D_WIN32_WINNT=0x0400 $(DEFINES) /Fd../out/$(TARGETNAME)/$(TARGETNAME)_2.pdb /Fo../out/$(TARGETNAME)/ $(INCLUDES)  $^ $(LIBS) $(VBOX_LIBS)  /link $(LINK_NATIVE_FLAGS) /DEF:dll.def /OUT:$@ /IMPLIB:../out/$(TARGETNAME)/$(TARGETNAME).lib
	@if exist $@ copy /Y $@ ..\out\$(TARGETNAME)\

..\out\$(TARGETNAME)\res.res: res.rc
	if not exist ..\out\$(TARGETNAME) mkdir ..\out\$(TARGETNAME)
	$(RC) /fo$@ res.rc

	
all: ..\out\$(TARGETNAME).dll


