Makefile raw

   1  .PHONY: all clean
   2  
   3  CFLAGS := -mavx
   4  CFLAGS += -mavx2
   5  CFLAGS += -mno-bmi
   6  CFLAGS += -mno-red-zone
   7  CFLAGS += -fno-asynchronous-unwind-tables
   8  CFLAGS += -fno-stack-protector
   9  CFLAGS += -fno-exceptions
  10  CFLAGS += -fno-builtin
  11  CFLAGS += -fno-rtti
  12  CFLAGS += -nostdlib
  13  CFLAGS += -O3
  14  
  15  NATIVE_ASM := $(wildcard native/*.S)
  16  NATIVE_SRC := $(wildcard native/*.h)
  17  NATIVE_SRC += $(wildcard native/*.c)
  18  
  19  all: native_amd64.s
  20  
  21  clean:
  22  	rm -vf native_text_amd64.go native_subr_amd64.go output/*.s
  23  
  24  native_amd64.s: ${NATIVE_SRC} ${NATIVE_ASM} native_amd64.go
  25  	mkdir -p output
  26  	clang ${CFLAGS} -S -o output/native.s native/native.c
  27  	python3 tools/asm2asm/asm2asm.py -r native_amd64.go output/native.s ${NATIVE_ASM}
  28  	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
  29  	awk '{gsub(/Funcs/, "funcs")}1' native_subr_amd64.go > native_subr_amd64.go.tmp && mv native_subr_amd64.go.tmp native_subr_amd64.go
  30