mirror of
https://github.com/herumi/xbyak
synced 2024-11-21 16:09:11 -07:00
128 lines
3.1 KiB
Makefile
128 lines
3.1 KiB
Makefile
XBYAK_INC=../xbyak/xbyak.h
|
|
CXX?=g++
|
|
|
|
BOOST_EXIST=$(shell echo "#include <boost/spirit/core.hpp>" | $CXX -x c++ -c - 2>/dev/null && echo 1)
|
|
UNAME_M=$(shell uname -m)
|
|
|
|
ONLY_64BIT=0
|
|
ifeq ($(shell uname -s),Darwin)
|
|
ONLY_64BIT=1
|
|
OS=mac
|
|
ifeq ($(UNAME_M),x86_64)
|
|
BIT=64
|
|
endif
|
|
ifeq ($(UNAME_M),i386)
|
|
BIT=32
|
|
endif
|
|
ifeq ($(shell sw_vers -productVersion | cut -c1-4 | sed 's/\.//'),105)
|
|
ifeq ($(shell sysctl -n hw.cpu64bit_capable),1)
|
|
BIT=64
|
|
endif
|
|
endif
|
|
else
|
|
BIT=32
|
|
ifeq ($(UNAME_M),x86_64)
|
|
BIT=64
|
|
endif
|
|
ifeq ($(UNAME_M),amd64)
|
|
BIT=64
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(BIT),64)
|
|
TARGET += test64 bf64 memfunc64 test_util64 jmp_table64
|
|
ifeq ($(BOOST_EXIST),1)
|
|
TARGET += calc64 #calc2_64
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(OS),mac)
|
|
TARGET += static_buf64
|
|
TARGET += memfd
|
|
endif
|
|
|
|
|
|
ifneq ($(ONLY_64BIT),1)
|
|
TARGET += test quantize bf toyvm test_util memfunc static_buf jmp_table
|
|
ifeq ($(BOOST_EXIST),1)
|
|
TARGET += calc #calc2
|
|
endif
|
|
endif
|
|
|
|
all: $(TARGET)
|
|
|
|
CFLAGS_WARN=-Wall -Wextra -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wfloat-equal -Wpointer-arith #-pedantic
|
|
|
|
CFLAGS=-g -O2 -fomit-frame-pointer -Wall -I../ $(CFLAGS_WARN) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
|
|
|
|
test:
|
|
$(CXX) $(CFLAGS) test0.cpp -o $@ -m32
|
|
|
|
quantize:
|
|
$(CXX) $(CFLAGS) quantize.cpp -o $@ -m32
|
|
|
|
calc:
|
|
$(CXX) $(CFLAGS) calc.cpp -o $@ -m32
|
|
calc64:
|
|
$(CXX) $(CFLAGS) calc.cpp -o $@ -m64
|
|
calc2:
|
|
$(CXX) $(CFLAGS) calc2.cpp -o $@ -m32
|
|
calc2_64:
|
|
$(CXX) $(CFLAGS) calc2.cpp -o $@ -m64
|
|
|
|
bf:
|
|
$(CXX) $(CFLAGS) bf.cpp -o $@ -m32
|
|
bf64:
|
|
$(CXX) $(CFLAGS) bf.cpp -o $@ -m64
|
|
|
|
memfunc:
|
|
$(CXX) $(CFLAGS) memfunc.cpp -o $@ -m32
|
|
memfunc64:
|
|
$(CXX) $(CFLAGS) memfunc.cpp -o $@ -m64
|
|
|
|
toyvm:
|
|
$(CXX) $(CFLAGS) toyvm.cpp -o $@ -m32
|
|
|
|
test64:
|
|
$(CXX) $(CFLAGS) test0.cpp -o $@ -m64
|
|
test_util:
|
|
$(CXX) $(CFLAGS) test_util.cpp -o $@ -m32
|
|
test_util64:
|
|
$(CXX) $(CFLAGS) test_util.cpp -o $@ -m64
|
|
static_buf:
|
|
$(CXX) $(CFLAGS) static_buf.cpp -o $@ -m32
|
|
static_buf64:
|
|
$(CXX) $(CFLAGS) static_buf.cpp -o $@ -m64
|
|
jmp_table:
|
|
$(CXX) $(CFLAGS) jmp_table.cpp -o $@ -m32
|
|
jmp_table64:
|
|
$(CXX) $(CFLAGS) jmp_table.cpp -o $@ -m64
|
|
memfd:
|
|
$(CXX) $(CFLAGS) memfd.cpp -o $@ -m64
|
|
profiler: profiler.cpp ../xbyak/xbyak_util.h
|
|
$(CXX) $(CFLAGS) profiler.cpp -o $@
|
|
profiler-vtune: profiler.cpp ../xbyak/xbyak_util.h
|
|
$(CXX) $(CFLAGS) profiler.cpp -o $@ -DXBYAK_USE_VTUNE -I /opt/intel/vtune_amplifier/include/ -L /opt/intel/vtune_amplifier/lib64 -ljitprofiling -ldl
|
|
|
|
clean:
|
|
rm -rf $(TARGET) profiler profiler-vtune
|
|
|
|
test : test0.cpp $(XBYAK_INC)
|
|
test64: test0.cpp $(XBYAK_INC)
|
|
quantize : quantize.cpp $(XBYAK_INC)
|
|
calc : calc.cpp $(XBYAK_INC)
|
|
calc64 : calc.cpp $(XBYAK_INC)
|
|
calc2 : calc2.cpp $(XBYAK_INC)
|
|
calc2_64 : calc2.cpp $(XBYAK_INC)
|
|
bf : bf.cpp $(XBYAK_INC)
|
|
bf64 : bf.cpp $(XBYAK_INC)
|
|
memfunc : memfunc.cpp $(XBYAK_INC)
|
|
memfunc64 : memfunc.cpp $(XBYAK_INC)
|
|
toyvm : toyvm.cpp $(XBYAK_INC)
|
|
static_buf: static_buf.cpp $(XBYAK_INC)
|
|
static_buf64: static_buf.cpp $(XBYAK_INC)
|
|
test_util : test_util.cpp $(XBYAK_INC) ../xbyak/xbyak_util.h
|
|
test_util2 : test_util.cpp $(XBYAK_INC) ../xbyak/xbyak_util.h
|
|
jmp_table: jmp_table.cpp $(XBYAK_INC)
|
|
jmp_table64: jmp_table.cpp $(XBYAK_INC)
|
|
memfd: memfd.cpp $(XBYAK_INC)
|