blob: 9bc142f5bf4b636a9a35c21217fe8e6081db0625 (
plain) (
tree)
|
|
######################################INCLUDES#################################
include ../macros.mk
#######################################VARS####################################
CXX_FLAGS+=-I/usr/include
CXX_FLAGS+=$(shell $(PY_CONF) --includes)
BRUISER=bruiser
LUA?=JIT
LIB_LUA=./lua-5.3.4/src/liblua.a
LIB_LUA_JIT=./LuaJIT/src/libluajit.a
HEADER_LIST=bruiser.h bruiser-extra.h CompletionHints.h
SRCS=bruiser.cpp, CompletionHints.cpp, ORCmutation.cpp, mutagen.cpp
#for some reason without ld the build fails on ubuntu trusty on travis
#EXTRA_LD_FLAGS+=-lpthread -ldl -lutil -lm -Xlinker -lpython3
EXTRA_LD_FLAGS+=$(shell $(PY_CONF) --ldflags)
######################################RULES####################################
.DEFAULT: all
.PHONY: all clean help
all: $(BRUISER)
depend: .bruiser.d
.bruiser.d: $(SRCS)
rm -f ./.bruisr.d
$(CXX) $(CXX_FLAGS) -MMD $^ -MF ./.bruiser.d;
-include ./.bruiser.d
.cpp.o: depend
$(CXX) $(CXX_FLAGS) -c $< -o $@
linenoise.o:
$(CC) $(CC_FLAGS) linenoise/linenoise.c -c -o linenoise.o
$(LIB_LUA):
$(MAKE) -C lua-5.3.4 linux
@echo "building with vanilla"
$(LIB_LUA_JIT):
$(MAKE) -C LuaJIT
@echo "building with jit"
$(BRUISER): $(BRUISER).o ../mutator_aux.o ../tinyxml2/tinyxml2.o linenoise.o CompletionHints.o mutagen.o ORCmutation.o $(LIB_LUA)
$(CXX) $^ $(LD_FLAGS) -o $@
clean:
rm -f *.o *~ $(BRUISER)
deepclean:
rm -f *.o *~ $(BRUISER)
$(MAKE) -C lua-5.3.4 clean
$(MAKE) -C LuaJIT clean
help:
@echo 'there is help.'
@echo 'all is the defualt target.'
@echo 'clean runs clean.'
@echo 'deepclean will also clean the lua build'
@echo 'for a more complete and detaild list of BUILD_MODE and other things look at the main makefiles help under project root.'
|