################################################################################
# CLI - A simple command line interface.
# Copyright (C) 2016-2021 Daniele Pallastrelli
#
# Boost Software License - Version 1.0 - August 17th, 2003
#
# Permission is hereby granted, free of charge, to any person or organization
# obtaining a copy of the software and accompanying documentation covered by
# this license (the "Software") to use, reproduce, display, distribute,
# execute, and transmit the Software, and to prepare derivative works of the
# Software, and to permit third-parties to whom the Software is furnished to
# do so, all subject to the following:
#
# The copyright notices in the Software and this entire statement, including
# the above license grant, this restriction and the following disclaimer,
# must be included in all copies of the Software, in whole or in part, and
# all derivative works of the Software, unless such copies or derivative
# works are solely in the form of machine-executable object code generated by
# a source language processor.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
################################################################################

# usage:
# make CXXFLAGS="-isystem ${ASIO_INCLUDE_PATH}" BOOST_INC=<BOOST_INCLUDE_DIR> BOOST_LIB=<BOOST_LIB_DIR>
# or
# make CXXFLAGS="-isystem <ASIO_INCLUDE_PATH>" BOOST_INC=<BOOST_INCLUDE_DIR> BOOST_LIB=<BOOST_LIB_DIR> CXXFLAGS=-std=c++0x

override RUN_OPT += --build_info --report_level=short

override CXXFLAGS += -Wall -Wextra -Werror -I../include -DBOOST_TEST_DYN_LINK -isystem $(BOOST_INC) -std=c++1y
override LDFLAGS += -L$(BOOST_LIB)
override LDLIBS += -lboost_unit_test_framework -lboost_system -ldl -lpthread

OBJ := test_history.o \
	   test_volatilehistorystorage.o \
	   test_filehistorystorage.o \
       test_split.o \
       test_commonprefix.o \
	   test_menu.o \
	   test_cli.o \
	   test_loopscheduler.o \
	   test_standaloneasioscheduler.o \
	   test_boostasioscheduler.o \
       driver.o

EXE := test_suite

.PHONY: all test clean

all: $(EXE) test

$(EXE): $(OBJ)
	$(LINK.cc) $(OBJ) -o $(EXE) $(LDLIBS)

test:
	export LD_LIBRARY_PATH=.:$(BOOST_LIB) ; ./$(EXE) $(RUN_OPT)

clean:
	@- $(RM) *.o *~ core $(EXE)
