mirror of
https://github.com/RobinFassinaMoschiniForks/TransitionalPeriod
synced 2026-08-09 12:18:31 +00:00
69 lines
1.3 KiB
Makefile
69 lines
1.3 KiB
Makefile
#
|
|
# Builds the shellcode for AMD64/x86.
|
|
#
|
|
|
|
CC_X64 := x86_64-w64-mingw32-gcc
|
|
CC_X86 := i686-w64-mingw32-gcc
|
|
LINK64 := misc/link_x64.ld
|
|
LINK32 := misc/link_x86.ld
|
|
OUTX64 := shellcode.x64.exe
|
|
OUTX86 := shellcode.x86.exe
|
|
EXTX64 := EntryPointSc.x64.o
|
|
EXTX86 := EntryPointSc.x86.o
|
|
BINX64 := TransitionalPeriod.x64.bin
|
|
BINX86 := TransitionalPeriod.x86.bin
|
|
|
|
SOURCE := source/*.c
|
|
EXTASM := source/asm/EntryPointSc.asm
|
|
CFLAGS := -Os -fno-asynchronous-unwind-tables
|
|
CFLAGS := $(CFLAGS) -nostdlib -fno-ident
|
|
CFLAGS := $(CFLAGS) -fpack-struct=8 -falign-functions=1
|
|
CFLAGS := $(CFLAGS) -falign-jumps=1 -falign-labels=1 -falign-loops=1
|
|
CFLAGS := $(CFLAGS) -flto
|
|
LFLAGS := -Wl,-s,--no-seh,--enable-stdcall-fixup
|
|
|
|
|
|
all: $(EXTX86) $(EXTX64) $(OUTX86) $(OUTX64) $(BINX86) $(BINX64)
|
|
|
|
clean:
|
|
rm -rf $(OUTX64) $(OUTX86)
|
|
rm -rf $(EXTX64) $(EXTX86)
|
|
rm -rf $(BINX64) $(BINX86)
|
|
|
|
|
|
#
|
|
# x86 BIN
|
|
#
|
|
$(BINX86):
|
|
python misc/pedump.py $(OUTX86) $@
|
|
|
|
#
|
|
# x86 OBJ
|
|
#
|
|
$(EXTX86):
|
|
nasm -f win32 $(EXTASM) -o $@
|
|
|
|
#
|
|
# x86 EXE
|
|
#
|
|
$(OUTX86):
|
|
$(CC_X86) $(SOURCE) $(EXTX86) -o $@ $(CFLAGS) $(LFLAGS),-T$(LINK32)
|
|
|
|
#
|
|
# x64 BIN
|
|
#
|
|
$(BINX64):
|
|
python misc/pedump.py $(OUTX64) $@
|
|
|
|
#
|
|
# x64 OBJ
|
|
#
|
|
$(EXTX64):
|
|
nasm -f win64 $(EXTASM) -o $@
|
|
|
|
#
|
|
# x64 EXE
|
|
#
|
|
$(OUTX64):
|
|
$(CC_X64) $(SOURCE) $(EXTX64) -o $@ $(CFLAGS) $(LFLAGS),-T$(LINK64)
|