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

TARGET = stepper

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

INCPATHS = -I../../../src/
LIBPATHS = -L../../../lib/
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

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

stepper.o: ../../../src/iic/Stepper.cpp ../../../src/iic/Stepper.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/iic/Stepper.cpp -o stepper.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)
	
otptool: otptool.o
	$(CC) otptool.o -o otptool
	
otptool.o: otptool.c
	$(CC) -c otptool.c -o otptool.o 
