CC 	= @CC@
CFLAGS 	= @CFLAGS@
XINCL 	= @x_includes@
TOPSRC  = @top_srcdir@
DIVINCL = -I$(TOPSRC)/include
LD	= @LD@
LDCOMBINEFLAGS = @LDCOMBINEFLAGS@


MODULE 	= windows

SRCS 	= caret.c class.c cursor.c dce.c defdlg.c defwnd.c dialog.c \
	event.c focus.c graphics.c hook.c keyboard.c mapping.c mdi.c \
	message.c msgbox.c nonclient.c painting.c property.c scroll.c \
	syscolor.c sysmetrics.c timer.c utility.c win.c \
	winpos.c
 

OBJS = $(SRCS:.c=.o)

.c.o:
	$(CC) -c $(CFLAGS) $(XINCL) $(DIVINCL) -o $*.o $<

all: $(MODULE).o

$(MODULE).o: $(OBJS)
	$(LD) $(LDCOMBINEFLAGS) $(OBJS) -o $(MODULE).o

depend:
	sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
	$(CC) $(DIVINCL) $(XINCL) -MM *.c >> tmp_make
	cp tmp_make Makefile
	rm tmp_make

clean:
	rm -f *.o \#*\# *~ tmp_make

distclean: clean
	rm Makefile

countryclean:

NAMES = $(SRCS:.c=)

winelibclean:
	for i in $(NAMES); do \
	if test `grep -c WINELIB $$i.c` -ne 0; then \
	rm $$i.o; \
	fi; \
	done
 
dummy:

### Dependencies:
