summaryrefslogtreecommitdiff
path: root/vendor/github.com/cloudwego/base64x/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/cloudwego/base64x/Makefile')
-rw-r--r--vendor/github.com/cloudwego/base64x/Makefile29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/cloudwego/base64x/Makefile b/vendor/github.com/cloudwego/base64x/Makefile
new file mode 100644
index 000000000..a0793f485
--- /dev/null
+++ b/vendor/github.com/cloudwego/base64x/Makefile
@@ -0,0 +1,29 @@
+.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