#
# Makefile for 'PM VNC Viewer'
#

CC	= gcc -c -O2 -w
CFLAGS	= -Zmtd -I.
LD	= gcc
LDFLAGS	= -s -Zmtd
EMXPATH = D:\emx

#
# Inference Rules
#
.c.o :
	$(CC) $(CFLAGS) $*.c

#
# Target to Build
#

TARGET = vncview.exe

all : $(TARGET)

#
# Files to Use
#

SRCS = main.c sess.c window.c keybd.c keyst.c keymap.c mouse.c menu.c clip.c \
	network.c proto.c querycap.c rect32.c rect8.c rect4.c \
	info.c auth.c vncauth.c d3des.c
OBJS = main.o sess.o window.o keybd.o keyst.o keymap.o mouse.o menu.o clip.o \
	network.o proto.o querycap.o rect32.o rect8.o rect4.o \
	info.o auth.o vncauth.o d3des.o
LIBS = -lsocket

#
# Dependencies
#

vncview.exe  : $(OBJS) vncview.def pmvncres.res
	$(LD) $(LDFLAGS) -o vncview.exe vncview.def pmvncres.res $(OBJS) $(LIBS)

pmvncres.res : pmvncres.rc pmvncres.h pmvnc.ico pmvnc.ptr about.txt
	rc -r -i $(EMXPATH)\include pmvncres.rc

pmvncdef.h : rfbproto.h
	touch pmvncdef.h

main.o     : main.c pmvncdef.h pmvncres.h

sess.o     : sess.c pmvncdef.h pmvncres.h

window.o   : window.c pmvncdef.h pmvncres.h

keybd.o    : keybd.c pmvncdef.h pmvncres.h

keyst.o    : keyst.c pmvncdef.h pmvncres.h

keymap.o   : keymap.c pmvncdef.h

mouse.o    : mouse.c pmvncdef.h pmvncres.h

menu.o     : menu.c pmvncdef.h pmvncres.h

clip.o     : clip.c pmvncdef.h

network.o  : network.c pmvncdef.h

proto.o    : proto.c pmvncdef.h

querycap.o : querycap.c pmvncdef.h

rect32.o   : rect32.c pmvncdef.h

rect8.o    : rect8.c pmvncdef.h

info.o     : info.c pmvncdef.h pmvncres.h

auth.o     : auth.c pmvncdef.h pmvncres.h vncauth.h

vncauth.o  : vncauth.c vncauth.h d3des.h

d3des.o    : d3des.c d3des.h
