TOP=..
S=.
CC=cl.exe
LINKER=link.exe
RSC=rc.exe

# debugging
#CFLAGS=-DSTRICT -GX -Od -Fdntptime.pdb -Zi -W3 -Zp
#LDBG=-DEBUG -PDB:ntptime.pdb
#RSC_PROJ=/l 0x409 /fontptray.res /d _DEBUG 

# no debugging
CFLAGS=-DSTRICT -GX -W3 -DACTIVATE_FTRACE=0
LDBG=
RSC_PROJ=/l 0x409 /fontptray.res /d NDEBUG 

PROGS=ntptray.exe

OBJS=base-exception.obj \
     lasterr-exception.obj \
     simple-exception.obj \
     wincmd.obj \
     ntptray.res

all: $(PROGS)

ntptray.exe: ntptray.obj $(OBJS)
	$(LINKER) -SUBSYSTEM:windows -OUT:ntptray.exe $(LDBG) ntptray.obj \
	$(OBJS) kernel32.lib user32.lib advapi32.lib shell32.lib comdlg32.lib

ntptray.obj: $(S)\ntptray.cpp $(S)\events.h $(S)\resource.h \
	$(S)\wrap-sc-handle.h
	$(CC) $(CFLAGS) -c -Tp $(S)\ntptray.cpp

base-exception.obj: $(S)\base-exception.cpp
	$(CC) $(CFLAGS) -c -Tp $(S)\base-exception.cpp

lasterr-exception.obj: $(S)\lasterr-exception.cpp
	$(CC) $(CFLAGS) -c -Tp $(S)\lasterr-exception.cpp

simple-exception.obj: $(S)\simple-exception.cpp
	$(CC) $(CFLAGS) -c -Tp $(S)\simple-exception.cpp

wincmd.obj: $(S)\wincmd.cpp
	$(CC) $(CFLAGS) -c -Tp $(S)\wincmd.cpp

ntptray.res : ntptray.rc resource.h
	$(RSC) $(RSC_PROJ) $(S)\ntptray.rc

clean:
	rm -f ntptray.obj $(OBJS) $(PROGS)
