diff options
Diffstat (limited to 'system.mak')
-rw-r--r-- | system.mak | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/system.mak b/system.mak new file mode 100644 index 0000000..38f7090 --- /dev/null +++ b/system.mak @@ -0,0 +1,134 @@ +############################################################################## +## +## Establish build target type for Detours. +## +## Microsoft Research Detours Package +## +## Copyright (c) Microsoft Corporation. All rights reserved. +## + +############################################## Determine Processor Build Type. +# +# Default the detours architecture to match the compiler target that +# has been selected by the user via the VS Developer Command Prompt +# they launched. +!IF "$(DETOURS_TARGET_PROCESSOR)" == "" && "$(VSCMD_ARG_TGT_ARCH)" != "" +DETOURS_TARGET_PROCESSOR = $(VSCMD_ARG_TGT_ARCH) +!ENDIF + +!IF "$(DETOURS_TARGET_PROCESSOR)" == "" && "$(PROCESSOR_ARCHITEW6432)" != "" +DETOURS_TARGET_PROCESSOR = X86 +!ENDIF + +!IF "$(DETOURS_TARGET_PROCESSOR)" == "" +DETOURS_TARGET_PROCESSOR = $(PROCESSOR_ARCHITECTURE) +!ENDIF + +# Uppercase DETOURS_TARGET_PROCESSOR +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:a=A) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:b=B) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:c=C) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:d=D) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:e=E) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:f=F) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:g=G) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:h=H) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:i=I) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:j=J) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:k=K) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:l=L) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:m=M) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:n=N) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:o=O) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:p=P) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:q=Q) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:r=R) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:s=S) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:t=T) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:u=U) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:v=V) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:w=W) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:x=X) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:y=Y) +DETOURS_TARGET_PROCESSOR=$(DETOURS_TARGET_PROCESSOR:z=Z) + +!IF "$(DETOURS_TARGET_PROCESSOR)" == "AMD64" +DETOURS_TARGET_PROCESSOR = X64 +!ENDIF + + +!if "$(DETOURS_TARGET_PROCESSOR:64=)" == "$(DETOURS_TARGET_PROCESSOR)" +DETOURS_32BIT=1 +DETOURS_BITS=32 +!else +DETOURS_64BIT=1 +DETOURS_BITS=64 +!endif + +########################################## Configure build based on Processor. +## +## DETOURS_OPTION_PROCESSOR: Set this macro if the processor *will* run code +## from another ISA (i.e. x86 on x64). +## +## DETOURS_OPTION_BITS: Set this macro if the processor *may* have +## an alternative word size. +## +!IF "$(DETOURS_TARGET_PROCESSOR)" == "X64" +#!MESSAGE Building for 64-bit X64. +DETOURS_SOURCE_BROWSING = 0 +DETOURS_OPTION_PROCESSOR=X86 +DETOURS_OPTION_BITS=32 +!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "IA64" +#!MESSAGE Building for 64-bit IA64. +DETOURS_OPTION_PROCESSOR=X86 +DETOURS_OPTION_BITS=32 +!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "X86" +#!MESSAGE Building for 32-bit X86. +DETOURS_OPTION_BITS=64 +# Don't set DETOURS_OPTION_PROCESSOR for x64 because we don't *know* that +# we'll run on a 64-bit machine. +!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "ARM" +#!MESSAGE Building for 32-bit ARM. +!ELSEIF "$(DETOURS_TARGET_PROCESSOR)" == "ARM64" +#!MESSAGE Building for 64-bit ARM. +!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_PROCESSOR)" +!ENDIF + +############################################################################## +## +INCD = $(ROOT)\include +LIBD = $(ROOT)\lib.$(DETOURS_TARGET_PROCESSOR)$(DETOURS_CONFIG) +BIND = $(ROOT)\bin.$(DETOURS_TARGET_PROCESSOR)$(DETOURS_CONFIG) +OBJD = obj.$(DETOURS_TARGET_PROCESSOR)$(DETOURS_CONFIG) +!IF "$(DETOURS_OPTION_PROCESSOR)" != "" +OPTD = $(ROOT)\bin.$(DETOURS_OPTION_PROCESSOR)$(DETOURS_CONFIG) +!ENDIF + +INCDS = $(ROOT)\include + +LIBDS = \ + $(ROOT)\lib.x86$(DETOURS_CONFIG) \ + $(ROOT)\lib.x64$(DETOURS_CONFIG) \ + $(ROOT)\lib.ia64$(DETOURS_CONFIG) \ + $(ROOT)\lib.arm$(DETOURS_CONFIG) \ + $(ROOT)\lib.arm64$(DETOURS_CONFIG) \ + +BINDS = \ + $(ROOT)\bin.x86$(DETOURS_CONFIG) \ + $(ROOT)\bin.x64$(DETOURS_CONFIG) \ + $(ROOT)\bin.ia64$(DETOURS_CONFIG) \ + $(ROOT)\bin.arm$(DETOURS_CONFIG) \ + $(ROOT)\bin.arm64$(DETOURS_CONFIG) \ + +OBJDS = \ + obj.x86$(DETOURS_CONFIG) \ + obj.x64$(DETOURS_CONFIG) \ + obj.ia64$(DETOURS_CONFIG) \ + obj.arm$(DETOURS_CONFIG) \ + obj.arm64$(DETOURS_CONFIG) \ + +############################################################################## |