metasploit-framework/external/source/byakugan/detours/Makefile

160 lines
4.3 KiB
Makefile
Executable File

##############################################################################
##
## Makefile for Detours.
##
## Microsoft Research Detours Package, Version 2.1.
##
## Copyright (c) Microsoft Corporation. All rights reserved.
##
##############################################################################
ROOT = ..
INCD = $(ROOT)\include
LIBD = $(ROOT)\lib
BIND = $(ROOT)\bin
!IF "$(DETOURS_SOURCE_BROWSING)" == ""
DETOURS_SOURCE_BROWSING = 0
!ENDIF
############################################## Determine Processor Build Type.
##
!IF "$(DETOURS_TARGET_PROCESSOR)" == ""
DETOURS_TARGET_PROCESSOR = $(PROCESSOR_ARCHITEW6432)
!ENDIF
!IF "$(DETOURS_TARGET_PROCESSOR)" == ""
DETOURS_TARGET_PROCESSOR = $(PROCESSOR_ARCHITECTURE)
!ENDIF
!IF "$(DETOURS_TARGET_PROCESSOR)" == "x86"
DETOURS_TARGET_PROCESSOR=X86
!ENDIF
!IF "$(DETOURS_TARGET_PROCESSOR)" == "AMD64"
#!MESSAGE Building for 64-bit AMD64.
DETOURS_TARGET_PROCESSOR=X64
!ENDIF
!IF "$(DETOURS_TARGET_PROCESSOR)" == "X64"
!MESSAGE Building for 64-bit X64.
DETOURS_SOURCE_BROWSING = 0
!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "IA64"
!MESSAGE Building for 64-bit IA64.
!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "X86"
!MESSAGE Building for 32-bit X86.
!ELSE
!MESSAGE Note: To select the target processor architecture set either
!MESSAGE PROCESSOR_ARCHITECTURE or DETOURS_TARGET_PROCESSOR.
!MESSAGE
!ERROR Unknown target processor: $(DETOURS_TARGET_ARCHITECTURE)
!ENDIF
##############################################################################
##
CFLAGS=/nologo /W4 /WX /Zi /MTd /Gy /Gm- /Zl /O1
!IF $(DETOURS_SOURCE_BROWSING)==1
CFLAGS=$(CFLAGS) /FR
!ELSE
CFLAGS=$(CFLAGS) /DWIN32_LEAN_AND_MEAN /D_WIN32_WINNT=0x403
!ENDIF
#/D_CRT_INSECURE_DEPRECATE
LIBFLAGS=/nologo
LINKFLAGS=/release
!IF "$(DETOURS_TARGET_PROCESSOR)" == "X86"
CFLAGS=$(CFLAGS) /Gs /DDETOURS_X86=1 /D_X86_
LIBFLAGS=$(LIBFLAGS) /debug
DLLENTRY=_DllMainCRTStartup@12
LINKFLAGS=$(LINKFLAGS) /machine:x86
!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "X64"
CFLAGS=$(CFLAGS) /D_WIN64 /DDETOURS_X64=1 /D_AMD64_ /Wp64
LIBFLAGS=$(LIBFLAGS)
DLLENTRY=_DllMainCRTStartup
LINKFLAGS=$(LINKFLAGS) /machine:amd64
!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "IA64"
CFLAGS=$(CFLAGS) /D_WIN64 /DDETOURS_IA64=1 /D_IA64_ /wd4163 /Wp64
LIBFLAGS=$(LIBFLAGS)
DLLENTRY=_DllMainCRTStartup
LINKFLAGS=$(LINKFLAGS) /machine:ia64
!ENDIF
OBJS = \
detours.obj \
modules.obj \
disasm.obj \
image.obj \
creatwth.obj \
##############################################################################
##
.SUFFIXES: .cpp .h .obj
.cpp.obj:
$(CC) /nologo $(CFLAGS) "/Fd$(LIBD)\detours.pdb" /Fo$*.obj /c "$(MAKEDIR)\$*.cpp"
##############################################################################
all: dirs \
"$(BIND)\detoured.dll" \
"$(LIBD)\detours.lib" \
"$(INCD)\detours.h" \
!IF $(DETOURS_SOURCE_BROWSING)==1
detours.bsc \
!endif
##############################################################################
clean:
@-del *.obj *.pdb *.ilk *.exe *.sbr *.bsc *.res *~ 2>nul
@-del $(LIBD)\detours.pdb $(LIBD)\detours.lib 2>nul
@-del $(BIND)\detoured.pdb $(BIND)\detoured.pdb 2>nul
##############################################################################
dirs:
if not exist "$(INCD)" mkdir "$(INCD)"
if not exist "$(LIBD)" mkdir "$(LIBD)"
if not exist "$(BIND)" mkdir "$(BIND)"
detours.bsc : $(OBJS)
bscmake /v /n /o $@ $(OBJS:.obj=.sbr)
"$(ROOT)\lib\detours.lib" : $(OBJS)
lib $(LIBFLAGS) /out:$@ $(OBJS)
"$(ROOT)\include\detours.h" : detours.h
copy detours.h $@
detoured.res : detoured.rc
rc detoured.rc
$(BIND)\detoured.dll: detoured.cpp detoured.res
cl /LD $(CFLAGS) /Fe$@ /Fd$(BIND)\detoured.pdb detoured.cpp \
/link $(LINKFLAGS) /base:0xf000000 /incremental:no /subsystem:console \
/entry:DllMain /implib:$(LIBD)\detoured.lib \
/export:Detoured kernel32.lib detoured.res
$(BIND)\detoured.bsc : detoured.obj
bscmake /v /n /o $@ detoured.sbr
detours.obj : detours.cpp detours.h
modules.obj : modules.cpp detours.h
disasm.obj : disasm.cpp detours.h
image.obj : image.cpp detours.h
creatwth.obj : creatwth.cpp detours.h
test: all
cd $(MAKEDIR)\..\samples\slept
nmake /nologo test
cd $(MAKEDIR)
################################################################# End of File.