#%TEST_DEPENDS = unit_test compat_stringstream iostream_extension std_compat_header_wrapper

LIBRARY_PREFIX = ../..
CXX = $(LIBRARY_PREFIX)/bin/g++w
MAKE_ARCHIVE = $(LIBRARY_PREFIX)/bin/make-archive
RM  = rm

INCLUDES = -I$(LIBRARY_PREFIX)/src/unit_test/include \
	   -I$(LIBRARY_PREFIX)/src/compat_stringstream/include \
	   -I$(LIBRARY_PREFIX)/src/iostream_extension/include \
	   -I$(LIBRARY_PREFIX)/src/std_compat_header_wrapper/include

CXXFLAGS = -g $(CCXXOPTFLAGS) $(CXXOPTFLAGS) $(INCLUDES) \
	      $(CCXXADDITIONALFLAGS) $(CXXADDITIONALFLAGS)

LDFLAGS = $(LDADDITIONALFLAGS)


all: check

library: libinput_line_buffer.a

library-lean: libinput_line_buffer.a
	$(RM) -f *.o input_line_buffer-test

libinput_line_buffer.a: input_line_buffer.o
	$(MAKE_ARCHIVE) libinput_line_buffer.a input_line_buffer.o

input_line_buffer-test: input_line_buffer-test.o libinput_line_buffer.a
	$(CXX) $(CXXFLAGS) -o input_line_buffer-test \
		input_line_buffer-test.o libinput_line_buffer.a $(LDFLAGS)

check: input_line_buffer-test
	./input_line_buffer-test

clean:
	$(RM) -f *.o libinput_line_buffer.a input_line_buffer-test

.PHONY: all library library-lean check clean

##
input_line_buffer.o: input_line_buffer.h input_line_buffer.cc

input_line_buffer-test.o: input_line_buffer-test.cc \
			  input_line_buffer.h
