Release 961013

Sun Oct 13 15:32:32 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [Make.rules.in] [*/Makefile.in]
	Made it possible to compile from a directory other than the source
	directory.

	* [graphics/metafiledrv/init.c] [include/metafiledrv.h]
	  [objects/metafile.c] [objects/dc.c]
	New graphics driver for metafiles.

	* [if1632/thunk.c]
	Added thunks for SetWindowsHook and SetDCHook.

	* [windows/dialog.c]
	Fixed GetNextDlgGroupItem and GetNextDlgTabItem to skip disabled
	items.

	* [*/*]
	Removed non Win32-clean types HANDLE, HBITMAP, HBRUSH, HFONT,
 	HINSTANCE, HMENU, HRGN and HTASK.

Wed Oct  9 14:59:45 1996  Frans van Dorsselaer  <dorssel@rulhm1.LeidenUniv.nl>

	* [controls/edit.c]
	Fixed EditWndProc() to fall back to DefWndProc() when the
	edit state structure is not available.

Wed Oct  2 14:00:34 1996  Huw D. M. Davies  <h.davies1@physics.oxford.ac.uk>

	* [windows/nonclient.c] [windows/mdi.c]
	AdjustWindowRectEx16() should only take notice of the styles
 	WS_DLGFRAME, WS_BORDER, WS_THICKFRAME and
 	WS_EX_DLGMODALFRAME. Thanks to Alex Korobka.

	* [controls/scroll.c]
	Fixed typo in ShowScrollBar32().

Sun Aug 25 20:18:56 1996  Jukka Iivonen <iivonen@cc.helsinki.fi>

	* [if1632/user32.spec] [if1632/winmm.spec]
	Added SetParent and sndPlaySoundA.
diff --git a/Make.rules.in b/Make.rules.in
index 41c1430..06455e1 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -1,5 +1,14 @@
 # Global rules shared by all makefiles
-# The makefile must define at least TOPSRC and MODULE
+#
+# Each individual makefile should define the following variables:
+# TOPSRCDIR  : top-level source directory
+# TOPOBJDIR  : top-level object directory
+# SRCDIR     : source directory for this module
+# MODULE     : name of the module being built
+# C_SRCS     : C sources for the module
+# GEN_C_SRCS : generated C sources (optional)
+# ASM_SRCS   : assembly sources (optional)
+# EXTRA_OBJS : extra object files (optional)
 
 # First some useful definitions
 
@@ -10,24 +19,24 @@
 OPTIONS   = @OPTIONS@
 X_CFLAGS  = @X_CFLAGS@
 X_LIBS    = @X_LIBS@
-XPM_LIB	  = -lXpm
-XLIB	  = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
-WINELIB   = -L$(TOPSRC) -lwine
-LDLIBS	  = @LDLIBS@
+XPM_LIB   = -lXpm
+XLIB      = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
+WINELIB   = -L$(TOPOBJDIR) -lwine
+LDLIBS    = @LDLIBS@
 YACC      = @YACC@
 LEX       = @LEX@
 LEXLIB    = @LEXLIB@
-DIVINCL   = -I$(TOPSRC)/include
+DIVINCL   = -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include -I.
 ALLCFLAGS = $(CFLAGS) $(DEFS) $(OPTIONS) $(DIVINCL) $(X_CFLAGS)
 LDCOMBINE = ld -r
 RM        = rm -f
-BUILD     = $(TOPSRC)/tools/build
-WINERC    = $(TOPSRC)/rc/winerc
+BUILD     = $(TOPOBJDIR)/tools/build
+WINERC    = $(TOPOBJDIR)/rc/winerc
 SUBMAKE   = $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)'
 @SET_MAKE@
 
-OBJS = $(C_SRCS:.c=.o) $(ASM_SRCS:.S=.o) $(EXTRA_OBJS)
-
+OBJS = $(C_SRCS:.c=.o) $(GEN_C_SRCS:.c=.o) $(ASM_SRCS:.S=.o) $(EXTRA_OBJS)
+DEPEND_SRCS = $(C_SRCS:%=$(SRCDIR)/%) $(GEN_C_SRCS:%=./%)
 
 # Implicit rules
 
@@ -43,21 +52,21 @@
 	echo "#include \"windows.h\"" >winerctmp.c
 	echo WINDOWS_H_ENDS_HERE >>winerctmp.c
 	cat $< >>winerctmp.c
-	$(CPP) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P winerctmp.c | sed -e '1,/^WINDOWS_H_ENDS_HERE/d' | $(WINERC) -c -o $* -p $*
+	$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P winerctmp.c | sed -e '1,/^WINDOWS_H_ENDS_HERE/d' | $(WINERC) -c -o $* -p $*
 	$(RM) winerctmp.c
 
 .rc.h:
 	echo "#include \"windows.h\"" >winerctmp.c
 	echo WINDOWS_H_ENDS_HERE >>winerctmp.c
 	cat $< >>winerctmp.c
-	$(CPP) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P winerctmp.c | sed -e '1,/^WINDOWS_H_ENDS_HERE/d' | $(WINERC) -c -o $* -p $*
+	$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P winerctmp.c | sed -e '1,/^WINDOWS_H_ENDS_HERE/d' | $(WINERC) -c -o $* -p $*
 	$(RM) winerctmp.c
 
 
 # Rule to rebuild resource compiler
 
 $(WINERC) check_winerc:
-	cd $(TOPSRC)/rc; $(SUBMAKE) winerc
+	cd $(TOPOBJDIR)/rc; $(SUBMAKE) winerc
 
 
 # Rule for main module
@@ -68,13 +77,13 @@
 
 # Misc. rules
 
-depend:: $(C_SRCS)
+depend:: $(C_SRCS) $(GEN_C_SRCS)
 	sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
-	$(CC) $(ALLCFLAGS) -MM $(C_SRCS) >> tmp_make
+	$(CC) $(ALLCFLAGS) -MM $(DEPEND_SRCS) >> tmp_make
 	mv tmp_make Makefile
 
 clean::
-	$(RM) *.o \#*\# *~ *.bak *.orig *.rej *.flc tmp_make winerctmp.c
+	$(RM) *.o \#*\# *~ *.bak *.orig *.rej *.flc tmp_make winerctmp.c $(GEN_C_SRCS)
 
 dummy: