CPPFLAGS = /c /GX /nologo /I. /I..\chapter08

all:		main_core.exe main_grad.exe main_orig.exe main_core_ptrs.exe

Core.obj:	Core.cpp Core.h

Grad.obj:	Grad.cpp Core.h

Student_info.obj:	Student_info.cpp ..\chapter08\median.h Student_info.h Core.h

grade.obj:	grade.cpp ..\chapter08\median.h Student_info.h

read_hw.obj:	read_hw.cpp ..\chapter08\median.h Student_info.h

main_core.obj:	main_core.cpp Core.h ..\chapter08\median.h

main_grad.obj:	main_grad.cpp Core.h ..\chapter08\median.h

main_orig.obj:	main_orig.cpp Core.h ..\chapter08\median.h Student_info.h

main_core_ptrs.obj:	main_core_ptrs.cpp Core.h ..\chapter08\median.h

main_orig.exe:	main_orig.obj grade.obj Student_info.obj read_hw.obj Core.obj

main_core.exe:	main_core.obj grade.obj  read_hw.obj Core.obj

main_grad.exe:	main_grad.obj grade.obj  read_hw.obj Core.obj

main_core_ptrs.exe:	main_core_ptrs.obj grade.obj  read_hw.obj Core.obj

test:		all
	main_core.exe <..\data\grades_core
	main_grad.exe <..\data\grades_grad
	main_orig.exe <..\data\mixed_grades
	main_core_ptrs.exe <..\data\mixed_grades


# polecenie "nmake clobber" usuwa pliki utworzone podczas kompilacji
clobber:
	del *.obj
	del *.exe

# konwersja pliku kodu .cpp o pliku obiektowego .obj file,
# wymaga uruchomienia kompilatora z nastpujcymi opcjami:
#	/nologo	Nie wywietlaj komunikatu o prawach autorskich
#	/GX	wcz obsug wyjtkw
#	/c	kompiluj bez konsolidacji
#	$<	makrodefinicja polecenia nmake, rozwijana do kompilowanego pliku
.cpp.obj:
	cl /nologo /GX /c $<

# do konwersji zbioru plikw .obj do pliku .exe file naley uruchomi konsolidator
# (poleceniem kompilacji) z opcjami:
#	/nologo	Nie wywietlaj komunikatu o prawach autorskich
.obj.exe:
	cl /nologo $**
