# Makefile for libs/connection
# Satofumi KAMIMURA
# $Id$

# Compile options
CC = $(CXX)
CXXFLAGS = -g -O0 -Wall -Werror $(INCLUDES)
INCLUDES = -I../system -I../common

# Target
CONNECTION_LIB = connection.a
TARGET = $(CONNECTION_LIB)

all : $(TARGET)

clean :
	$(RM) *.o $(TARGET) allTest
	cd sdl/ && $(MAKE) clean
	cd samples/ && $(MAKE) clean
	cd c/ && $(MAKE) clean
	cd qt/ && (if test -f Makefile; then $(MAKE) distclean; fi)

depend :
	makedepend -Y -- $(INCLUDES) -- $(wildcard *.h *.cpp)

test : allTest
	./allTest

.PHONY : all clean depend test
######################################################################
$(CONNECTION_LIB) : \
	$(CONNECTION_LIB)(ConnectionUtils.o) \
	$(CONNECTION_LIB)(StandardIo.o) \
	$(CONNECTION_LIB)(SerialDevice.o) \
	$(CONNECTION_LIB)(FindComPorts.o) \
	$(CONNECTION_LIB)(isUsingComDriver.o) \
	$(CONNECTION_LIB)(ConnectionRecorder.o) \
	$(CONNECTION_LIB)(CustomConnection.o) \

SerialDevice.o : SerialDevice_lin.cpp SerialDevice_win.cpp SerialDevice.cpp
StandardIo.o : StandardIo_lin.cpp StandardIo_win.cpp StandardIo.cpp

allTest.o : ../../unittest/allTest.cpp
	$(CXX) $(CXXFLAGS) `cppunit-config --cflags` $< -c -o $@

TEST_LDLIBS = ../system/system.a ../system/sdl/system_sdl.a
$(TEST_LDLIBS) :
	cd $(@D)/ && $(MAKE) $(@F)

TEST_OBJS = allTest.o TestSerialDevice.o SerialDevice.o $(REQUIRE_LIBS)
allTest : $(TEST_OBJS)
	$(CXX) $(CXXFLAGS) $(TEST_OBJS) -o $@ `cppunit-config --libs` $(TEST_LDLIBS) `sdl-config --libs`

# DO NOT DELETE

ConnectionRecorder.o: Connection.h
CustomConnection.o: Connection.h
SerialDevice.o: Connection.h
StandardIo.o: Connection.h
TcpipSocket.o: Connection.h
ConnectionRecorder.o: ConnectionRecorder.h Connection.h
ConnectionUtils.o: ConnectionUtils.h Connection.h
CustomConnection.o: CustomConnection.h Connection.h ../common/RingBuffer.h
FindComPorts.o: FindComPorts.h ../system/DetectOS.h ../system/findFiles.h
SerialDevice.o: SerialDevice.h Connection.h ../system/DetectOS.h
SerialDevice.o: ../common/RingBuffer.h SerialDevice_lin.cpp
SerialDevice_win.o: ../system/DetectOS.h
SerialDevice_win_test.o: SerialDevice.h Connection.h
StandardIo.o: ../system/DetectOS.h StandardIo_lin.cpp StandardIo.h
StandardIo.o: Connection.h
StandardIo_lin.o: StandardIo.h Connection.h
StandardIo_win.o: StandardIo.h Connection.h
TestSerialDevice.o: TestSerialDevice.h SerialDevice.h Connection.h
TestSerialDevice.o: ../system/ticks.h ../system/DetectOS.h
isUsingComDriver.o: isUsingComDriver.h ../system/DetectOS.h
resetComPort.o: resetComPort.h ../system/DetectOS.h
