

GCC_VERSION ?= $(shell expr substr "`g++ -dumpversion | tr -dc '[0-9]'`" 1 2)

OUTPUT_BIN = test_app
OUTPUT_LIB = libTest.so

#override if you want to
BOOST_INCLUDES ?= /usr/include
BOOST_LIB_DIR ?= /usr/lib
BOOST_THREAD_LIB ?= boost_thread-mt

all: $(OUTPUT_BIN) $(OUTPUT_LIB)

$(OUTPUT_BIN): test_app.c
	gcc test_app.c -ldl -o $(OUTPUT_BIN)

$(OUTPUT_LIB): test_lib.cpp
	g++ test_lib.cpp -Wall -fPIC -shared -Wl,-soname,$(OUTPUT_LIB) -I$(BOOST_INCLUDES) -L$(BOOST_LIB_DIR) -l$(BOOST_THREAD_LIB) -o $(OUTPUT_LIB)

clean:
	rm -f $(OUTPUT_BIN) $(OUTPUT_LIB)
	
run: all
	./$(OUTPUT_BIN)

