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

TARGET = read_chipcard_encrypt write_chipcard_encrypt

OBJFILES_CHIPCARD_READ = read_chipcard_encrypted.o bus.o mutex.o iowarrior_i2c.o base.o chipcard.o multiplexer.o aes.o
OBJFILES_CHIPCARD_WRITE = write_chipcard_encrypted.o bus.o mutex.o iowarrior_i2c.o base.o chipcard.o multiplexer.o aes.o

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


all: $(TARGET)

read_chipcard_encrypt: $(OBJFILES_CHIPCARD_READ)
	$(CXX) $(CXXFLAGS) $(INCPATHS) $(OBJFILES_CHIPCARD_READ) $(LIBPATHS) $(LIBS) $(LDFLAGS) -o read_chipcard_encrypt

write_chipcard_encrypt: $(OBJFILES_CHIPCARD_WRITE)
	$(CXX) $(CXXFLAGS) $(INCPATHS) $(OBJFILES_CHIPCARD_WRITE) $(LIBPATHS) $(LIBS) $(LDFLAGS) -o write_chipcard_encrypt

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

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

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

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

aes.o: ../../../src/tools/AES.cpp ../../../src/tools/AES.h
	$(CXX) $(CXXFLAGS) $(INCPATHS) -c ../../../src/tools/AES.cpp -o aes.o

clean:
	$(RM) $(TARGET) $(OBJFILES_CHIPCARD_WRITE) $(OBJFILES_CHIPCARD_READ)
