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

TARGET = distance_measuring

OBJFILES = main.o bus.o mutex.o iowarrior_i2c.o base.o adconverter.o multiplexer.o

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


all: $(TARGET)

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

main.o: main.cpp 
	$(CXX) $(CFLAGS) $(INCPATHS) -c main.cpp -o main.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

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

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

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

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

clean:
	$(RM) $(TARGET) $(OBJFILES)
