CC=g++
AR=ar
CFLAGS=-c -Wall -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7  -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DNDEBUG -g -fwrapv -O0 -Wall -Wstrict-prototypes
LDFLAGS= -L/usr/lib/python2.7/config-x86_64-linux-gnu -L/usr/lib -lpthread -ldl  -lutil -lm  -lpython2.7 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
HEADERS=bolos.h
SOURCES=pure_bolos.c
CPPSRCS=bolos.cpp
OBJECTS=$(SOURCES:.c=.o)
OBJECTS+=$(CPPSRCS:.cpp=.o)
EXECUTABLE=call_bolos
ARCHIVE=libbolos.a

all: $(HEADERS) $(SOURCES) $(CPPSRCS) $(EXECUTABLE) $(ARCHIVE)
	
$(ARCHIVE): $(CPPSRCS)
	$(AR) -cvq $@ $(CPPSRCS:.cpp=.o)

$(EXECUTABLE): $(OBJECTS) 
	$(CC) $(OBJECTS) -o $@ $(LDFLAGS) 

.c.o:
	$(CC) $(CFLAGS) $< -o $@

.cpp.o:
	$(CC) $(CFLAGS) $< -o $@

clean:
	rm -rf *.o *.a
