CC = gcc -Wall
SOURCES = PA01_Main.c EncryptionUtility.c Console_IO_Utility.c File_Input_Utility.c File_Output_Utility.c
OBJECTS = PA01_Main.o EncryptionUtility.o Console_IO_Utility.o File_Input_Utility.o File_Output_Utility.o

all: PA01_Main.out

PA01_Main.out: PA01_Main
	./PA01_Main | tee PA01_Main.out

PA01_Main: $(OBJECTS)
	$(CC) $(OBJECTS) -o PA01_Main

PA01_Main.o: PA01_Main.c
	$(CC) -c PA01_Main.c -o PA01_Main.o

EncryptionUtility.o: EncryptionUtility.c
	$(CC) -c EncryptionUtility.c -o EncryptionUtility.o

Console_IO_Utility.o: Console_IO_Utility.c
	$(CC) -c Console_IO_Utility.c -o Console_IO_Utility.o

File_Input_Utility.o: File_Input_Utility.c
	$(CC) -c File_Input_Utility.c -o File_Input_Utility.o

File_Output_Utility.o: File_Output_Utility.c
	$(CC) -c File_Output_Utility.c -o File_Output_Utility.o

clean:
	rm -f $(OBJECTS) PA01_Main PA01_Main.out

clean_objects:
	rm -f $(OBJECTS)
