CC = gcc -Wall
SOURCES = PA06_Main.c LLDataEngine.c IteratorUtility.c QueueUtility.c StackUtility.c Console_IO_Utility.c File_Input_Utility.c File_Output_Utility.c
OBJECTS = PA06_Main.o LLDataEngine.o IteratorUtility.o QueueUtility.o StackUtility.o Console_IO_Utility.o File_Input_Utility.o File_Output_Utility.o

# Uses the template structure defined in the TypicalUtils folder

all: PA06_Main

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

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

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

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

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

StackUtility.o: StackUtility.c
	$(CC) -c StackUtility.c -o StackUtility.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) PA06_Main PA06_Main.out

clean_objects:
	rm -f $(OBJECTS)

run:
	./PA06_Main

run_win:
	PA06_Main
