105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
|   | TARGET = make_nm normalize_prefix bad_address misc cvt_test cvt_test32 noexception | ||
|  | XBYAK_INC=../xbyak/xbyak.h | ||
|  | UNAME_S=$(shell uname -s) | ||
|  | BIT=32 | ||
|  | ifeq ($(shell uname -m),x86_64) | ||
|  | BIT=64 | ||
|  | endif | ||
|  | ONLY_64BIT=0 | ||
|  | ifeq ($(UNAME_S),Darwin) | ||
|  |   # 32-bit binary is not supported | ||
|  |   ONLY_64BIT=1 | ||
|  | endif | ||
|  | ifeq ($(ONLY_64BIT),0) | ||
|  |   TARGET += jmp address | ||
|  | endif | ||
|  | 
 | ||
|  | ifeq ($(BIT),64) | ||
|  | 	TARGET += jmp64 address64 | ||
|  | endif | ||
|  | 
 | ||
|  | all: $(TARGET) | ||
|  | 
 | ||
|  | CFLAGS_WARN=-Wall -Wextra -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wfloat-equal -Wpointer-arith | ||
|  | 
 | ||
|  | CFLAGS=-O2 -fomit-frame-pointer -Wall -fno-operator-names -I../ -I./ $(CFLAGS_WARN) #-std=c++0x | ||
|  | make_nm: | ||
|  | 	$(CXX) $(CFLAGS) make_nm.cpp -o $@ | ||
|  | normalize_prefix: normalize_prefix.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) normalize_prefix.cpp -o $@ | ||
|  | test_mmx: test_mmx.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) test_mmx.cpp -o $@ -lpthread | ||
|  | jmp: jmp.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) jmp.cpp -o $@ -m32 | ||
|  | jmp64: jmp.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) jmp.cpp -o $@ -m64 | ||
|  | address: address.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) address.cpp -o $@ -m32 | ||
|  | address64: address.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) address.cpp -o $@ -m64 | ||
|  | bad_address: bad_address.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) bad_address.cpp -o $@ | ||
|  | misc: misc.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) misc.cpp -o $@ | ||
|  | cvt_test: cvt_test.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) $< -o $@ | ||
|  | cvt_test32: cvt_test.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) $< -o $@ -DXBYAK32 | ||
|  | noexception: noexception.cpp ../xbyak/xbyak.h | ||
|  | 	$(CXX) $(CFLAGS) $< -o $@ -fno-exceptions | ||
|  | 
 | ||
|  | test_nm: normalize_prefix $(TARGET) | ||
|  | 	$(MAKE) -C ../gen | ||
|  | ifneq ($(ONLY_64BIT),1) | ||
|  | 	./test_nm.sh | ||
|  | 	./test_nm.sh noexcept | ||
|  | 	./noexception | ||
|  | 	./test_nm.sh Y | ||
|  | 	./test_nm.sh avx512 | ||
|  | 	./test_address.sh | ||
|  | 	./jmp | ||
|  | 	./cvt_test32 | ||
|  | endif | ||
|  | 	./bad_address | ||
|  | 	./misc | ||
|  | 	./cvt_test | ||
|  | ifeq ($(BIT),64) | ||
|  | 	./test_address.sh 64 | ||
|  | 	./test_nm.sh 64 | ||
|  | 	./test_nm.sh Y64 | ||
|  | 	./jmp64 | ||
|  | endif | ||
|  | 
 | ||
|  | test_avx: normalize_prefix | ||
|  | ifneq ($(ONLY_64BIT),0) | ||
|  | 	./test_avx.sh | ||
|  | 	./test_avx.sh Y | ||
|  | endif | ||
|  | ifeq ($(BIT),64) | ||
|  | 	./test_address.sh 64 | ||
|  | 	./test_avx.sh 64 | ||
|  | 	./test_avx.sh Y64 | ||
|  | endif | ||
|  | 
 | ||
|  | test_avx512: normalize_prefix | ||
|  | ifneq ($(ONLY_64BIT),0) | ||
|  | 	./test_avx512.sh | ||
|  | endif | ||
|  | ifeq ($(BIT),64) | ||
|  | 	./test_avx512.sh 64 | ||
|  | endif | ||
|  | 
 | ||
|  | test: | ||
|  | 	$(MAKE) test_nm | ||
|  | 	$(MAKE) test_avx | ||
|  | 	$(MAKE) test_avx512 | ||
|  | 
 | ||
|  | clean: | ||
|  | 	rm -rf *.o $(TARGET) lib_run nm.cpp nm_frame make_512 | ||
|  | 
 | ||
|  | lib_run: lib_test.cpp lib_run.cpp lib.h | ||
|  | 	$(CXX) $(CFLAGS) lib_run.cpp lib_test.cpp -o lib_run | ||
|  | make_nm: make_nm.cpp $(XBYAK_INC) | ||
|  | 
 | ||
|  | 
 |