Update for gcc
Update makefile.gcc to reflect the new compilation process.
This commit is contained in:
parent
f2843b1d10
commit
6a9039b051
@ -123,12 +123,14 @@ EXTERN int log_level;
|
|||||||
EXTERN void DEBUGSTR( int level, LPCSTR szFormat, ... );
|
EXTERN void DEBUGSTR( int level, LPCSTR szFormat, ... );
|
||||||
|
|
||||||
// Replacements for C runtime functions.
|
// Replacements for C runtime functions.
|
||||||
|
#ifdef _MSC_VER
|
||||||
#undef RtlFillMemory
|
#undef RtlFillMemory
|
||||||
#undef RtlMoveMemory
|
#undef RtlMoveMemory
|
||||||
#undef RtlZeroMemory
|
#undef RtlZeroMemory
|
||||||
void WINAPI RtlFillMemory( PVOID, SIZE_T, BYTE );
|
void WINAPI RtlFillMemory( PVOID, SIZE_T, BYTE );
|
||||||
void WINAPI RtlMoveMemory( PVOID, const VOID*, SIZE_T );
|
void WINAPI RtlMoveMemory( PVOID, const VOID*, SIZE_T );
|
||||||
void WINAPI RtlZeroMemory( PVOID, SIZE_T );
|
void WINAPI RtlZeroMemory( PVOID, SIZE_T );
|
||||||
|
#endif
|
||||||
|
|
||||||
#define arrcpy( dst, src ) RtlMoveMemory( dst, src, sizeof(dst) )
|
#define arrcpy( dst, src ) RtlMoveMemory( dst, src, sizeof(dst) )
|
||||||
|
|
||||||
|
36
makefile.gcc
36
makefile.gcc
@ -14,11 +14,14 @@
|
|||||||
# work with 32-bit only, 64-bit only or multilib compilers;
|
# work with 32-bit only, 64-bit only or multilib compilers;
|
||||||
# hide the commands (use V=1 to show them).
|
# hide the commands (use V=1 to show them).
|
||||||
#
|
#
|
||||||
|
# 11 May, 2018:
|
||||||
|
# update for the 1.84 changes.
|
||||||
|
#
|
||||||
# Tested with:
|
# Tested with:
|
||||||
# * MinGW/gcc 4.7.2;
|
# * MinGW/gcc 6.3.0;
|
||||||
# * tdm-gcc-4.8.1-3;
|
# * tdm-gcc-5.1.0-3;
|
||||||
# * tdm64-gcc-4.8.1-3;
|
# * tdm64-gcc-5.1.0-2;
|
||||||
# * MinGW-builds x64-4.8.1-release-posix-seh-rev1.
|
# * MSYS2/gcc 7.3.0.
|
||||||
|
|
||||||
CC ?= gcc
|
CC ?= gcc
|
||||||
ifeq ($(origin CC),default)
|
ifeq ($(origin CC),default)
|
||||||
@ -54,8 +57,9 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
X86OBJS = x86/injdll.o x86/proctype.o x86/util.o
|
X86OBJS = x86/injdll.o x86/procrva.o x86/proctype.o x86/util.o
|
||||||
X64OBJS = x64/injdll.o x64/proctype.o x64/util.o x64/procrva.o
|
X64OBJS = x64/injdll.o x64/procrva.o x64/proctype.o x64/util.o
|
||||||
|
X6432OBJS = x86/injdll.o x86/procrva.o x64/proctype32.o x86/util.o
|
||||||
|
|
||||||
# Determine the appropriate separator to run multiple commands - ";" for sh.exe
|
# Determine the appropriate separator to run multiple commands - ";" for sh.exe
|
||||||
# and "&" for CMD.EXE. $(SHELL) is initially defined to "sh.exe" - if it
|
# and "&" for CMD.EXE. $(SHELL) is initially defined to "sh.exe" - if it
|
||||||
@ -95,31 +99,33 @@ else
|
|||||||
all: ansicon$(ARCH)
|
all: ansicon$(ARCH)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ansicon32: x86 x86/ansicon.exe x86/ANSI32.dll x64 x64/ANSI32.dll
|
ansicon32: x86 x86/ANSI32.dll x86/ansicon.exe x64 x64/ANSI32.dll
|
||||||
|
|
||||||
ansicon64: x64 x64/ansicon.exe x64/ANSI64.dll
|
ansicon64: x64 x64/ANSI64.dll x64/ansicon.exe
|
||||||
|
|
||||||
x86:
|
x86:
|
||||||
mkdir x86
|
mkdir x86
|
||||||
|
|
||||||
x86/ansicon.exe: x86/ansicon.o $(X86OBJS) x86/procrva.o x86/ansiconv.o
|
x86/ansicon.exe: x86/ansicon.o x86/ANSI32.dll x86/ansiconv.o
|
||||||
$(LDmsg)$(CC) -m32 $+ -s -o $@ $(IVER)
|
$(LDmsg)$(CC) -m32 $+ -s -o $@ $(IVER)
|
||||||
|
|
||||||
x86/ANSI32.dll: x86/ANSI.o $(X86OBJS) x86/ansiv.o
|
x86/ANSI32.dll: x86/ANSI.o $(X86OBJS) x86/ansiv.o
|
||||||
$(LDmsg)$(CC) -m32 $+ -lwinmm -s -o $@ -mdll -Wl,-shared,--image-base,0xAC0000
|
$(LDmsg)$(CC) -m32 $+ -s -o $@ -mdll -nostdlib -lkernel32 -lntdll \
|
||||||
|
-Wl,-shared,--image-base,0xAC0000,-e,_DllMain@12
|
||||||
|
|
||||||
x64:
|
x64:
|
||||||
mkdir x64
|
mkdir x64
|
||||||
|
|
||||||
x64/ansicon.exe: x64/ansicon.o $(X64OBJS) x64/ansiconv.o
|
x64/ansicon.exe: x64/ansicon.o x64/ANSI64.dll x64/ansiconv.o
|
||||||
$(LDmsg)$(CC) -m64 $+ -s -o $@ $(IVER)
|
$(LDmsg)$(CC) -m64 $+ -s -o $@ $(IVER)
|
||||||
|
|
||||||
x64/ANSI64.dll: x64/ANSI.o $(X64OBJS) x64/ansiv.o
|
x64/ANSI64.dll: x64/ANSI.o $(X64OBJS) x64/ansiv.o
|
||||||
$(LDmsg)$(CC) -m64 $+ -lwinmm -s -o $@ -mdll -Wl,-shared,--image-base,0xAC000000
|
$(LDmsg)$(CC) -m64 $+ -s -o $@ -mdll -nostdlib -lkernel32 -lntdll \
|
||||||
|
-Wl,-shared,--image-base,0xAC000000,-e,DllMain
|
||||||
|
|
||||||
x64/ANSI32.dll: x64/ANSI32.o x64/proctype32.o x86/injdll.o x86/util.o x86/ansiv.o
|
x64/ANSI32.dll: x64/ANSI32.o $(X6432OBJS) x86/ansiv.o
|
||||||
$(LDmsg)$(CC) -m32 $+ -lwinmm -s -o $@ -mdll \
|
$(LDmsg)$(CC) -m32 $+ -s -o $@ -mdll -nostdlib -lkernel32 -lntdll \
|
||||||
-Wl,-shared,--image-base,0xAC0000,--large-address-aware
|
-Wl,-shared,--image-base,0xAC0000,-e,_DllMain@12,--large-address-aware
|
||||||
|
|
||||||
x86/ansicon.o: version.h
|
x86/ansicon.o: version.h
|
||||||
x86/ANSI.o: version.h
|
x86/ANSI.o: version.h
|
||||||
|
Loading…
x
Reference in New Issue
Block a user