aboutsummaryrefslogblamecommitdiff
path: root/examples/aflpp_driver/GNUmakefile
blob: b118a8b5e1e97373b882ba2602db771f92321516 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                          
                               
 
                                                                   
 
                              
                                                                           
 


                                           
      
                                                                                                                                        
                                                                                              
                                                                                                                                                        
                                                                                                             
                                                             
 
                                           
                                                                               







                                                                                         
                                                                                      
 
             

                                                                                                                                                                              
 
      
                                                                                                        
ifeq "" "$(LLVM_CONFIG)"
  LLVM_CONFIG=llvm-config
endif

LLVM_BINDIR = $(shell $(LLVM_CONFIG) --bindir 2>/dev/null)
ifneq "" "$(LLVM_BINDIR)"
  LLVM_BINDIR := $(LLVM_BINDIR)/
endif

CFLAGS := -O3 -funroll-loops -g

all:	libAFLDriver.a libAFLQemuDriver.a aflpp_qemu_driver_hook.so

aflpp_driver.o:	aflpp_driver.c
	$(LLVM_BINDIR)clang -I. -I../../include $(CFLAGS) -c aflpp_driver.c

libAFLDriver.a:	aflpp_driver.o
	ar ru libAFLDriver.a aflpp_driver.o

debug:
	$(LLVM_BINDIR)clang -Wno-deprecated -I../../include $(CFLAGS) -D_DEBUG=\"1\" -c -o afl-performance.o ../../src/afl-performance.c
	$(LLVM_BINDIR)clang -I../../include -D_DEBUG=\"1\" -g -funroll-loops -c aflpp_driver.c
	#$(LLVM_BINDIR)clang -S -emit-llvm -Wno-deprecated -I../../include $(CFLAGS) -D_DEBUG=\"1\" -c -o afl-performance.ll ../../src/afl-performance.c
	#$(LLVM_BINDIR)clang -S -emit-llvm -I../../include -D_DEBUG=\"1\" -g -funroll-loops -c aflpp_driver.c
	ar ru libAFLDriver.a afl-performance.o aflpp_driver.o

aflpp_qemu_driver.o:	aflpp_qemu_driver.c
	$(LLVM_BINDIR)clang $(CFLAGS) -O0 -funroll-loops -c aflpp_qemu_driver.c

libAFLQemuDriver.a:	aflpp_qemu_driver.o
	ar ru libAFLQemuDriver.a aflpp_qemu_driver.o

aflpp_qemu_driver_hook.so:	aflpp_qemu_driver_hook.o
	$(LLVM_BINDIR)clang -shared aflpp_qemu_driver_hook.o -o aflpp_qemu_driver_hook.so

aflpp_qemu_driver_hook.o:	aflpp_qemu_driver_hook.c
	$(LLVM_BINDIR)clang -fPIC $(CFLAGS) -funroll-loops -c aflpp_qemu_driver_hook.c

test:	debug
	#clang -S -emit-llvm -D_DEBUG=\"1\" -I../../include -Wl,--allow-multiple-definition -funroll-loops -o aflpp_driver_test.ll aflpp_driver_test.c
	afl-clang-fast -D_DEBUG=\"1\" -I../../include -Wl,--allow-multiple-definition -funroll-loops -o aflpp_driver_test aflpp_driver_test.c libAFLDriver.a afl-performance.o

clean:
	rm -f *.o libAFLDriver*.a libAFLQemuDriver.a aflpp_qemu_driver_hook.so *~ core aflpp_driver_test