2023-12-21 22:17:40 +08:00
|
|
|
.PHONY: all clean
|
|
|
|
|
|
|
|
CFLAGS := -mavx
|
|
|
|
CFLAGS += -mavx2
|
|
|
|
CFLAGS += -mno-bmi
|
|
|
|
CFLAGS += -mno-red-zone
|
|
|
|
CFLAGS += -fno-asynchronous-unwind-tables
|
|
|
|
CFLAGS += -fno-stack-protector
|
|
|
|
CFLAGS += -fno-exceptions
|
|
|
|
CFLAGS += -fno-builtin
|
|
|
|
CFLAGS += -fno-rtti
|
|
|
|
CFLAGS += -nostdlib
|
|
|
|
CFLAGS += -O3
|
|
|
|
|
|
|
|
NATIVE_ASM := $(wildcard native/*.S)
|
|
|
|
NATIVE_SRC := $(wildcard native/*.h)
|
|
|
|
NATIVE_SRC += $(wildcard native/*.c)
|
|
|
|
|
|
|
|
all: native_amd64.s
|
|
|
|
|
|
|
|
clean:
|
2024-05-15 19:09:45 +08:00
|
|
|
rm -vf native_text_amd64.go native_subr_amd64.go output/*.s
|
2023-12-21 22:17:40 +08:00
|
|
|
|
|
|
|
native_amd64.s: ${NATIVE_SRC} ${NATIVE_ASM} native_amd64.go
|
|
|
|
mkdir -p output
|
|
|
|
clang ${CFLAGS} -S -o output/native.s native/native.c
|
2024-05-15 19:09:45 +08:00
|
|
|
python3 tools/asm2asm/asm2asm.py -r native_amd64.go output/native.s ${NATIVE_ASM}
|
|
|
|
awk '{gsub(/Text__native_entry__/, "text__native_entry__")}1' native_text_amd64.go > native_text_amd64.go.tmp && mv native_text_amd64.go.tmp native_text_amd64.go
|
|
|
|
awk '{gsub(/Funcs/, "funcs")}1' native_subr_amd64.go > native_subr_amd64.go.tmp && mv native_subr_amd64.go.tmp native_subr_amd64.go
|