CC = gcc -Wall
SOURCES = PA09_Main.c GeneralUtility.c HeapUtility.c StudentUtility.c Console_IO_Utility.c File_Input_Utility.c File_Output_Utility.c
OBJECTS = PA09_Main.o GeneralUtility.o HeapUtility.o StudentUtility.o Console_IO_Utility.o File_Input_Utility.o File_Output_Utility.o

# Uses the template structure defined in the TypicalUtils folder

all: PA09_Main

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

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

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

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

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

clean_objects:
	rm -f $(OBJECTS)

run:
	./PA09_Main

run_win:
	PA09_Main
