124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
|   | XBYAK_INC=../xbyak/xbyak.h | ||
|  | 
 | ||
|  | BOOST_EXIST=$(shell echo "\#include <boost/spirit/core.hpp>" | (gcc -E - 2>/dev/null) | grep "boost/spirit/core.hpp" >/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 | ||
|  | 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) | ||
|  | 
 | ||
|  | 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 | ||
|  | 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 *.o $(TARGET) *.exe 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) |