
include ../../../src/Makefile.config

TARGET = panel

OBJFILES = main.o iowarrior_i2c.o bus.o base.o mutex.o multiplexer.o display.o keyboard.o

INCPATHS = -I../../../src/
LIBPATHS = 
LIBS = -lrt
CXXFLAGS = $(CXXFLAGS_ALL)
LDFLAGS = $(LDFLAGS_ALL)


all: $(TARGET)

$(TARGET): $(OBJFILES)
	$(CXX) $(CXXFLAGS) $(INCPATHS) $(OBJFILES) $(LIBPATHS) $(LIBS) $(LDFLAGS) -o $(TARGET)

main.o: main.cpp 
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c main.cpp -o main.o 

base.o: ../../../src/iic/Base.cpp ../../../src/iic/Base.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Base.cpp -o base.o

multiplexer.o: ../../../src/iic/Multiplexer.cpp ../../../src/iic/Multiplexer.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Multiplexer.cpp -o multiplexer.o

bus.o: ../../../src/iic/Bus.cpp ../../../src/iic/Bus.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Bus.cpp -o bus.o
	
mutex.o: ../../../src/tools/Mutex.cpp ../../../src/tools/Mutex.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/tools/Mutex.cpp -o mutex.o

display.o: ../../../src/iic/Display.cpp ../../../src/iic/Display.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Display.cpp -o display.o

keyboard.o: ../../../src/iic/Keyboard.cpp ../../../src/iic/Keyboard.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Keyboard.cpp -o keyboard.o

iowarrior_i2c.o: ../../../src/tools/iowarrior_i2c.c ../../../src/tools/iowarrior_i2c.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/tools/iowarrior_i2c.c -o iowarrior_i2c.o
        
clean:
	$(RM) $(TARGET) $(OBJFILES)
