#gnu make

#.SUFFIXES: .c .obj .exe


obj/%.obj : src/%.c
	$(CC)

obj/debug/%.obj : src/%.c
	$(CCDEBUG)

bin/%.exe : obj/%.obj
	$(LINK)

bin/debug/%.exe : obj/debug/%.obj
	$(LINKDEBUG)

CFLAGS= -Zp1 -W3 -O2 
CFLAGSDEBUG= -W3 -Zi -Od

CCOMMON=-D_CRT_SECURE_NO_WARNINGS -nologo -c -Fo$@ -I inc $<

CC=cl $(CFLAGS) $(CCOMMON)
CCDEBUG = cl $(CFLAGSDEBUG) $(CCOMMON)

LINK = link -nologo -out:$@ $^
LINKDEBUG = link -nologo -debug -out:$@ $^^ 


all: bin/cplans.exe  bin/debug/cplans.exe

clean:
	-cmd /c del /q obj\\*
	-cmd /c del /q obj\\debug\\*
	-cmd /c del /q bin\\*.exe
	-cmd /c del /q bin\\debug\\*.exe
	-cmd /c del /q bin\\debug\\*.pdb
	-cmd /c del /q bin\\debug\\*.bsc
	-cmd /c del /q bin\\debug\\*.ilk
         

bin/cplans.exe: obj/cplans.obj obj/schedule.obj obj/objhdl.obj obj/parser.obj obj/date.obj obj/util.obj

bin/debug/cplans.exe: obj/debug/cplans.obj obj/debug/schedule.obj obj/debug/objhdl.obj obj/debug/parser.obj obj/debug/date.obj obj/debug/util.obj

obj/cplans.obj:    inc/cplans.h inc/util.h inc/date.h
obj/schedule.obj:  inc/cplans.h inc/util.h inc/date.h
obj/objhdl.obj:    inc/cplans.h inc/util.h inc/date.h
obj/parser.obj:    inc/cplans.h inc/util.h inc/date.h
obj/util.obj:      inc/cplans.h inc/util.h inc/date.h
obj/date.obj:      inc/date.h

obj/debug/cplans.obj:    inc/cplans.h inc/util.h inc/date.h
obj/debug/schedule.obj:  inc/cplans.h inc/util.h inc/date.h
obj/debug/objhdl.obj:    inc/cplans.h inc/util.h inc/date.h
obj/debug/parser.obj:    inc/cplans.h inc/util.h inc/date.h
obj/debug/util.obj:      inc/cplans.h inc/util.h inc/date.h
obj/debug/date.obj:      inc/date.h

