CC := gcc
CFLAGS := -Wall
BIN := bin/
LIBS := -lpthread
SOURCES := main.c
OBJECTS = $(addprefix $(BIN), $(SOURCES:.c=.o))
EXENAME := otp
EXENAME := $(addprefix $(BIN), $(EXENAME))

EXAMPLE := main.c
ENC := encrypted
DNC := decrypted

.PHONY: all
all: $(EXENAME)

$(EXENAME): $(OBJECTS)
	$(CC) $(CFLAGS) $(OBJECTS) -o $(EXENAME) $(LIBS)

$(BIN)%.o: %.c $(BIN)
	$(CC) $(CFLAGS) -c $< -o $@

$(BIN):
	@mkdir -p $(BIN)

.PHONY: clean
clean:
	@rm -rf $(BIN)

.PHONY: encrypt
encrypt: $(EXENAME)
	./$(EXENAME) -i $(EXAMPLE) -o $(ENC) -x 421 -a 453 -c 4567 -m 2177823

.PHONY: decrypt
decrypt:
	./$(EXENAME) -i $(ENC) -o $(DNC) -x 421 -a 453 -c 4567 -m 2177823
	diff main.c decrypted
