1234567891011121314151617181920212223242526272829 |
- .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:
- rm -vf native_text_amd64.go native_subr_amd64.go output/*.s
- native_amd64.s: ${NATIVE_SRC} ${NATIVE_ASM} native_amd64.go
- mkdir -p output
- clang ${CFLAGS} -S -o output/native.s native/native.c
- 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
|