Completely revised FreeType's make management.

. In all makefiles `/' is used as the path separator.  The
  conversion to the real path separators is done as late as
  possible using $(subst ...).

. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
  for the operating system, and the new $(COMPILER_SEP) the path
  separator for the compiler tools.

. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
  directory variables end with `_DIR'.  The variants ending in `_'
  (like `BASE_' have been removed).

The following ChangeLog entries only describe changes which are
not related to the redesign.

* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
overlong arguments as suggested by J. Ali Harlow
<ali@avrc.city.ac.uk>.
* builds/dos/dos-wat.mk: New file.
* builds/freetype.mk (FREETYPE_H): Include header files from the
`devel' subdirectory.

* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
builds/win32/w32-dev.mk (BUILD_DIR): Fix path.

* builds/unix/configure.ac, builds/unic/configure: Updated.
* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.


* devel/ftoption.h: Updated.
diff --git a/builds/ansi/ansi-def.mk b/builds/ansi/ansi-def.mk
index 032a7b8..bf2aa36 100644
--- a/builds/ansi/ansi-def.mk
+++ b/builds/ansi/ansi-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -17,11 +17,10 @@
   TOP_DIR := .
 endif
 
-DELETE   := rm -f
-SEP      := /
-HOSTSEP  := $(SEP)
-BUILD    := $(TOP_DIR)/builds/ansi
-PLATFORM := ansi
+DELETE    := rm -f
+SEP       := /
+BUILD_DIR := $(TOP_DIR)/builds/ansi
+PLATFORM  := ansi
 
 
 # The directory where all object files are placed.
@@ -34,7 +33,7 @@
 #   make -f $TOP_DIR/Makefile
 #
 ifndef OBJ_DIR
-  OBJ_DIR := $(TOP_DIR)$(SEP)objs
+  OBJ_DIR := $(TOP_DIR)/objs
 endif
 
 
diff --git a/builds/ansi/ansi.mk b/builds/ansi/ansi.mk
index 739d485..32b3bac 100644
--- a/builds/ansi/ansi.mk
+++ b/builds/ansi/ansi.mk
@@ -17,4 +17,5 @@
 include $(TOP_DIR)/builds/compiler/ansi-cc.mk
 include $(TOP_DIR)/builds/link_std.mk
 
+
 # EOF
diff --git a/builds/beos/beos-def.mk b/builds/beos/beos-def.mk
index eb55db9..b569fe6 100644
--- a/builds/beos/beos-def.mk
+++ b/builds/beos/beos-def.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,11 +19,10 @@
   TOP_DIR := .
 endif
 
-DELETE   := rm -f
-SEP      := /
-HOSTSEP  := $(SEP)
-BUILD    := $(TOP_DIR)/builds/neos
-PLATFORM := beos
+DELETE    := rm -f
+SEP       := /
+BUILD_DIR := $(TOP_DIR)/builds/beos
+PLATFORM  := beos
 
 
 # The directory where all object files are placed.
@@ -36,7 +35,7 @@
 #   make -f $TOP_DIR/Makefile
 #
 ifndef OBJ_DIR
-  OBJ_DIR := $(TOP_DIR)$(SEP)objs
+  OBJ_DIR := $(TOP_DIR)/objs
 endif
 
 
diff --git a/builds/beos/beos.mk b/builds/beos/beos.mk
index 1ccf8ce..1bc8e3a 100644
--- a/builds/beos/beos.mk
+++ b/builds/beos/beos.mk
@@ -15,5 +15,5 @@
 include $(TOP_DIR)/builds/beos/beos-def.mk
 include $(TOP_DIR)/builds/link_std.mk
 
-# EOF
 
+# EOF
diff --git a/builds/beos/detect.mk b/builds/beos/detect.mk
index 89b3f68..8333aba 100644
--- a/builds/beos/detect.mk
+++ b/builds/beos/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -27,15 +27,14 @@
 
 ifeq ($(PLATFORM),beos)
 
-  DELETE   := rm -f
-  SEP      := /
-  HOSTSEP  := $(SEP)
-  BUILD    := $(TOP_DIR)/builds/beos
+  DELETE      := rm -f
+  SEP         := /
+  BUILD_DIR   := $(TOP_DIR)/builds/beos
   CONFIG_FILE := beos.mk
 
   setup: std_setup
 
 endif   # test PLATFORM beos
 
-# EOF
 
+# EOF
diff --git a/builds/compiler/ansi-cc.mk b/builds/compiler/ansi-cc.mk
index 0309e39..c52c12f 100644
--- a/builds/compiler/ansi-cc.mk
+++ b/builds/compiler/ansi-cc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,9 @@
 
 # Compiler command line name
 #
-CC := cc
+CC           := cc
+COMPILER_SEP := $(SEP)
+
 
 # The object file extension (for standard and static libraries).  This can be
 # .o, .tco, .obj, etc., depending on the platform.
@@ -74,8 +76,9 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
-LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
+LINK_LIBRARY = $(AR) -r $@ $(subst /,$(COMPILER_SEP),$(OBJECTS_LIST))
+
 
 # EOF
diff --git a/builds/compiler/bcc-dev.mk b/builds/compiler/bcc-dev.mk
index aa5c369..446fd4e 100644
--- a/builds/compiler/bcc-dev.mk
+++ b/builds/compiler/bcc-dev.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,9 @@
 
 # Compiler command line name
 #
-CC := bcc32
+CC           := bcc32
+COMPILER_SEP := $(SEP)
+
 
 # The object file extension (for standard and static libraries).  This can be
 # .o, .tco, .obj, etc., depending on the platform.
@@ -72,9 +74,9 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
-TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
-LINK_LIBRARY   = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
+LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
+
 
 # EOF
diff --git a/builds/compiler/bcc.mk b/builds/compiler/bcc.mk
index 938ecee..eedfa10 100644
--- a/builds/compiler/bcc.mk
+++ b/builds/compiler/bcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,9 @@
 
 # Compiler command line name
 #
-CC := bcc32
+CC           := bcc32
+COMPILER_SEP := $(SEP)
+
 
 # The object file extension (for standard and static libraries).  This can be
 # .o, .tco, .obj, etc., depending on the platform.
@@ -72,9 +74,9 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
-TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
-LINK_LIBRARY   = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
+LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
+
 
 # EOF
diff --git a/builds/compiler/gcc-dev.mk b/builds/compiler/gcc-dev.mk
index 76d0ba0..c52f79f 100644
--- a/builds/compiler/gcc-dev.mk
+++ b/builds/compiler/gcc-dev.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,9 @@
 
 # Compiler command line name
 #
-CC := gcc
+CC           := gcc
+COMPILER_SEP := /
+
 
 # The object file extension (for standard and static libraries).  This can be
 # .o, .tco, .obj, etc., depending on the platform.
@@ -82,8 +84,9 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
+
 # EOF
diff --git a/builds/compiler/gcc.mk b/builds/compiler/gcc.mk
index f2c94de..83ee981 100644
--- a/builds/compiler/gcc.mk
+++ b/builds/compiler/gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,9 @@
 
 # Compiler command line name
 #
-CC := gcc
+CC           := gcc
+COMPILER_SEP := /
+
 
 # The object file extension (for standard and static libraries).  This can be
 # .o, .tco, .obj, etc., depending on the platform.
@@ -71,8 +73,9 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
+
 # EOF
diff --git a/builds/compiler/intelc.mk b/builds/compiler/intelc.mk
index 0c3088a..954dcf6 100644
--- a/builds/compiler/intelc.mk
+++ b/builds/compiler/intelc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # compiler command line name
 #
-CC := icl
+CC           := icl
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -79,6 +80,7 @@
 # Library linking
 #
 #CLEAN_LIBRARY =
-LINK_LIBRARY  = lib /nologo /out:$@ $(OBJECTS_LIST)
+LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
+
 
 # EOF
diff --git a/builds/compiler/unix-lcc.mk b/builds/compiler/unix-lcc.mk
index fd8c7fb..cf4ef5a 100644
--- a/builds/compiler/unix-lcc.mk
+++ b/builds/compiler/unix-lcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # Command line name
 #
-CC := lcc
+CC           := lcc
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -78,8 +79,9 @@
 # library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(PROJECT_LIBRARY)
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
+
 # EOF
diff --git a/builds/compiler/visualage.mk b/builds/compiler/visualage.mk
index 3d07ac6..21ef12b 100644
--- a/builds/compiler/visualage.mk
+++ b/builds/compiler/visualage.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # command line compiler name
 #
-CC := icc
+CC           := icc
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -71,6 +72,7 @@
 # Library linking
 #
 #CLEAN_LIBRARY :=
-LINK_LIBRARY   = lib /nologo /out:$@ $(OBJECTS_LIST)
+LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
+
 
 # EOF
diff --git a/builds/compiler/visualc.mk b/builds/compiler/visualc.mk
index 235a4df..92d71a9 100644
--- a/builds/compiler/visualc.mk
+++ b/builds/compiler/visualc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # compiler command line name
 #
-CC := cl
+CC           := cl
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -74,6 +75,7 @@
 # Library linking
 #
 #CLEAN_LIBRARY =
-LINK_LIBRARY  = lib /nologo /out:$@ $(OBJECTS_LIST)
+LINK_LIBRARY  = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
+
 
 # EOF
diff --git a/builds/compiler/watcom.mk b/builds/compiler/watcom.mk
index 7669ed6..f9e1764 100644
--- a/builds/compiler/watcom.mk
+++ b/builds/compiler/watcom.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # Compiler command line name
 #
-CC := wcc386
+CC           := wcc386
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -74,8 +75,10 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
+  CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
 endif
-LINK_LIBRARY = wlib -q -o = $@ $(OBJECTS_LIST)
+LINK_LIBRARY = $(subst /,$(COMPILER_SEP), \
+                 wlib -q -n $@; \
+                 $(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);))
 
 # EOF
diff --git a/builds/compiler/win-lcc.mk b/builds/compiler/win-lcc.mk
index 6e9512a..c500d82 100644
--- a/builds/compiler/win-lcc.mk
+++ b/builds/compiler/win-lcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -15,7 +15,8 @@
 
 # Command line name
 #
-CC := lcc
+CC           := lcc
+COMPILER_SEP := $(SEP)
 
 
 # The object file extension (for standard and static libraries).  This can be
@@ -76,6 +77,7 @@
 # library linking
 #
 #CLEAN_LIBRARY :=
-LINK_LIBRARY = lcclib /out:$(subst $(SEP),\\,$@) $(subst $(SEP),\\,$(OBJECTS_LIST))
+LINK_LIBRARY = lcclib /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
+
 
 # EOF
diff --git a/builds/detect.mk b/builds/detect.mk
index ad825ad..13525c4 100644
--- a/builds/detect.mk
+++ b/builds/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2001, 2002, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -16,7 +16,7 @@
 # This sub-Makefile is in charge of detecting the current platform.  It sets
 # the following variables:
 #
-#   BUILD        The configuration and system-specific directory.  Usually
+#   BUILD_DIR    The configuration and system-specific directory.  Usually
 #                `freetype/builds/$(PLATFORM)' but can be different for
 #                custom builds of the library.
 #
@@ -30,6 +30,7 @@
 #   DELETE       The shell command used to remove a given file.
 #   COPY         The shell command used to copy one file.
 #   SEP          The platform-specific directory separator.
+#   COMPILER_SEP The separator used in arguments of the compilation tools.
 #   CC           The compiler to use.
 #
 # You need to set the following variable(s) before calling it:
@@ -44,17 +45,17 @@
 endif
 
 # Set auto-detection default to `ansi' resp. UNIX-like operating systems.
-# Note that we delay evaluation of $(BUILD_CONFIG_), $(BUILD), and
-# $(CONFIG_RULES).
 #
-PLATFORM := ansi
-DELETE   := $(RM)
-COPY     := cp
-SEP      := /
+PLATFORM     := ansi
+DELETE       := $(RM)
+COPY         := cp
+SEP          := /
 
-BUILD_CONFIG_ = $(TOP_DIR)$(SEP)builds$(SEP)
-BUILD         = $(BUILD_CONFIG_)$(PLATFORM)
-CONFIG_RULES  = $(BUILD)$(SEP)$(CONFIG_FILE)
+BUILD_CONFIG := $(TOP_DIR)/builds
+
+# These two assignments must be delayed.
+BUILD_DIR    = $(BUILD_CONFIG)/$(PLATFORM)
+CONFIG_RULES = $(BUILD_DIR)/$(CONFIG_FILE)
 
 # We define the BACKSLASH variable to hold a single back-slash character.
 # This is needed because a line like
@@ -72,12 +73,12 @@
 
 # Find all auto-detectable platforms.
 #
-PLATFORMS_ := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG_)*/detect.mk)))
-.PHONY: $(PLATFORMS_) ansi
+PLATFORMS := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG)/*/detect.mk)))
+.PHONY: $(PLATFORMS) ansi
 
 # Filter out platform specified as setup target.
 #
-PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS_)))
+PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS)))
 
 # If no setup target platform was specified, enable auto-detection/
 # default platform.
@@ -94,7 +95,7 @@
   # directories.  Note that the calling order of the various `detect.mk'
   # files isn't predictable.
   #
-  include $(wildcard $(BUILD_CONFIG_)*/detect.mk)
+  include $(wildcard $(BUILD_CONFIG)/*/detect.mk)
 endif
 
 # In case no detection rule file was successful, use the default.
@@ -121,7 +122,7 @@
 	@echo ""
 	@echo "  platform                    $(PLATFORM)"
 	@echo "  compiler                    $(CC)"
-	@echo "  configuration directory     $(BUILD)"
+	@echo "  configuration directory     $(BUILD_DIR)"
 	@echo "  configuration rules         $(CONFIG_RULES)"
 	@echo ""
 	@echo "If this does not correspond to your system or settings please remove the file"
@@ -142,8 +143,8 @@
 	@type builds\newline
 	@echo   platformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
 	@echo   compilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
-	@echo   configuration directoryÿÿÿÿÿÿ$(BUILD)
-	@echo   configuration rulesÿÿÿÿÿÿÿÿÿÿ$(CONFIG_RULES)
+	@echo   configuration directoryÿÿÿÿÿÿ$(subst /,\,$(BUILD_DIR))
+	@echo   configuration rulesÿÿÿÿÿÿÿÿÿÿ$(subst /,\,$(CONFIG_RULES))
 	@type builds\newline
 	@echo If this does not correspond to your system or settings please remove the file
 	@echo '$(CONFIG_MK)' from this directory then read the INSTALL file for help.
@@ -152,4 +153,5 @@
 	@type builds\newline
 	@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
 
+
 # EOF
diff --git a/builds/dos/detect.mk b/builds/dos/detect.mk
index 0467848..4dba521 100644
--- a/builds/dos/detect.mk
+++ b/builds/dos/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -57,7 +57,6 @@
   # Use DJGPP (i.e. gcc) by default.
   #
   CONFIG_FILE := dos-gcc.mk
-  SEP         := /
   ifndef CC
     CC        := gcc
   endif
@@ -66,7 +65,6 @@
   #
   ifneq ($(findstring turboc,$(MAKECMDGOALS)),)     # Turbo C
     CONFIG_FILE := dos-tcc.mk
-    SEP         := $(BACKSLASH)
     CC          := tcc
     turboc: setup
     .PHONY: turboc
@@ -74,7 +72,6 @@
 
   ifneq ($(findstring watcom,$(MAKECMDGOALS)),)     # Watcom C/C++
     CONFIG_FILE := dos-wat.mk
-    SEP         := $(BACKSLASH)
     CC          := wcc386
     watcom: setup
     .PHONY: watcom
@@ -82,7 +79,6 @@
 
   ifneq ($(findstring borlandc,$(MAKECMDGOALS)),)   # Borland C/C++ 32-bit
     CONFIG_FILE := dos-bcc.mk
-    SEP         := $(BACKSLASH)
     CC          := bcc32
     borlandc: setup
     .PHONY: borlandc
@@ -90,17 +86,18 @@
 
   ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
     CONFIG_FILE := dos-bcc.mk
-    SEP         := $(BACKSLASH)
     CC          := bcc
     borlandc16: setup
     .PHONY: borlandc16
   endif
 
   ifneq ($(findstring bash,$(SHELL)),)              # check for bash
+    SEP    := /
     DELETE := rm
     COPY   := cp
     setup: std_setup
   else
+    SEP    := $(BACKSLASH)
     DELETE := del
     COPY   := copy
     setup: dos_setup
@@ -108,4 +105,5 @@
 
 endif     # test PLATFORM dos
 
+
 # EOF
diff --git a/builds/dos/dos-def.mk b/builds/dos/dos-def.mk
index d2bcbd4..d6bc72e 100644
--- a/builds/dos/dos-def.mk
+++ b/builds/dos/dos-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,15 +13,10 @@
 # fully.
 
 
-DELETE   := del
-HOSTSEP  := $(strip \ )
-BUILD    := $(TOP_DIR)$(SEP)builds$(SEP)dos
-PLATFORM := dos
-
-# except for DJGPP/GCC on Dos
-ifndef SEP
-SEP      := $(HOSTSEP)
-endif
+DELETE    := del
+SEP       := $(strip \ )
+BUILD_DIR := $(TOP_DIR)/builds/dos
+PLATFORM  := dos
 
 
 # The directory where all object files are placed.
@@ -34,7 +29,7 @@
 #   make -f %TOP_DIR%/Makefile
 #
 ifndef OBJ_DIR
-  OBJ_DIR := $(TOP_DIR)$(SEP)objs
+  OBJ_DIR := $(TOP_DIR)/objs
 endif
 
 
diff --git a/builds/dos/dos-gcc.mk b/builds/dos/dos-gcc.mk
index 14a9d38..e14255c 100644
--- a/builds/dos/dos-gcc.mk
+++ b/builds/dos/dos-gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,10 +13,9 @@
 # fully.
 
 
-SEP := /
-
 include $(TOP_DIR)/builds/dos/dos-def.mk
 include $(TOP_DIR)/builds/compiler/gcc.mk
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/dos/dos-wat.mk b/builds/dos/dos-wat.mk
new file mode 100644
index 0000000..0c39e49
--- /dev/null
+++ b/builds/dos/dos-wat.mk
@@ -0,0 +1,17 @@
+#
+# FreeType 2 configuration rules for the Watcom C/C++ compiler
+#
+
+
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+include $(TOP_DIR)/builds/dos/dos-def.mk
+include $(TOP_DIR)/builds/compiler/watcom.mk
+include $(TOP_DIR)/builds/link_dos.mk
+
+
+# EOF
diff --git a/builds/freetype.mk b/builds/freetype.mk
index 9b5921c..6948ab8 100644
--- a/builds/freetype.mk
+++ b/builds/freetype.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000, 2002 by
+# Copyright 1996-2000, 2001, 2002, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -20,7 +20,7 @@
 # The following variables (set by other Makefile components, in the
 # environment, or on the command line) are used:
 #
-#   BUILD          The architecture dependent directory,
+#   BUILD_DIR      The architecture dependent directory,
 #                  e.g. `$(TOP_DIR)/builds/unix'.
 #
 #   OBJ_DIR        The directory in which object files are created.
@@ -63,6 +63,7 @@
 #                  `distclean' target.
 #
 #   TOP_DIR, SEP,
+#   COMPILER_SEP,
 #   LIBRARY, CC,
 #   A, I, O, T     Check `config.mk' for details.
 
@@ -83,43 +84,24 @@
 
 # The FreeType source directory, usually `./src'.
 #
-SRC := $(TOP_DIR)$(SEP)src
-
+SRC_DIR := $(TOP_DIR)/src
 
 # The directory where the base layer components are placed, usually
 # `./src/base'.
 #
-BASE_DIR := $(SRC)$(SEP)base
+BASE_DIR := $(SRC_DIR)/base
 
-# The build header file used to define all public header file names
-# as macro.
+# Other derived directories.
 #
-ifndef FT_BUILD_H
-  FT_BUILD_H  := $(TOP_DIR)$(SEP)include$(SEP)ft2build.h
-  FTBUILD_CMD :=
-else
-  FTBUILD_CMD = $(D)FT_BUILD_H=$(FT_BUILD_H)
-endif
-
-# A few short-cuts in order to avoid typing $(SEP) all the time for the
-# directory separator.
-#
-# For example: $(SRC_) equals to `./src/' where `.' is $(TOP_DIR).
-#
-#
-SRC_      := $(SRC)$(SEP)
-BASE_     := $(BASE_DIR)$(SEP)
-OBJ_      := $(OBJ_DIR)$(SEP)
-LIB_      := $(LIB_DIR)$(SEP)
-PUBLIC_   := $(TOP_DIR)$(SEP)include$(SEP)freetype$(SEP)
-INTERNAL_ := $(PUBLIC_)internal$(SEP)
-CONFIG_   := $(PUBLIC_)config$(SEP)
-CACHE_    := $(PUBLIC_)cache$(SEP)
+PUBLIC_DIR   := $(TOP_DIR)/include/freetype
+INTERNAL_DIR := $(PUBLIC_DIR)/internal
+CONFIG_DIR   := $(PUBLIC_DIR)/config
+CACHE_DIR    := $(PUBLIC_DIR)/cache
 
 
 # The final name of the library file.
 #
-PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
+PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A
 
 
 # include paths
@@ -130,7 +112,8 @@
 #                 in the `freetype/builds/<system>' directory, as these
 #                 files will override the default sources.
 #
-INCLUDES := $(OBJ_DIR) $(BUILD) $(TOP_DIR)$(SEP)include
+INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) $(BUILD_DIR) \
+                                      $(TOP_DIR)/include)
 
 INCLUDE_FLAGS = $(INCLUDES:%=$I%)
 
@@ -164,46 +147,47 @@
 # This is used to simplify the dependency rules -- if one of these files
 # changes, the whole library is recompiled.
 #
-PUBLIC_H   := $(wildcard $(PUBLIC_)*.h)
-BASE_H     := $(wildcard $(INTERNAL_)*.h)
-CONFIG_H   := $(wildcard $(CONFIG_)*.h) \
-              $(wildcard $(BUILD)$(SEP)freetype$(SEP)config$(SEP)*.h)
-CACHE_H    := $(wildcard $(CACHE_)*.h)
+PUBLIC_H   := $(wildcard $(PUBLIC_DIR)/*.h)
+BASE_H     := $(wildcard $(INTERNAL_DIR)/*.h)
+CONFIG_H   := $(wildcard $(CONFIG_DIR)/*.h) \
+              $(wildcard $(BUILD_DIR)/freetype/config/*.h)
+CACHE_H    := $(wildcard $(CACHE_DIR)/*.h)
+DEVEL_H    := $(wildcard $(TOP_DIR)/devel/*.h)
 
-FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H)
+FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H)
 
 
 # ftsystem component
 #
 ifndef FTSYS_SRC
-  FTSYS_SRC = $(BASE_)ftsystem.c
+  FTSYS_SRC = $(BASE_DIR)/ftsystem.c
 endif
 
-FTSYS_OBJ = $(OBJ_)ftsystem.$O
+FTSYS_OBJ = $(OBJ_DIR)/ftsystem.$O
 
 OBJECTS_LIST += $(FTSYS_OBJ)
 
 $(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
-	$(FT_COMPILE) $T$@ $<
+	$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
 
 
 # ftdebug component
 #
 ifndef FTDEBUG_SRC
-  FTDEBUG_SRC = $(BASE_)ftdebug.c
+  FTDEBUG_SRC = $(BASE_DIR)/ftdebug.c
 endif
 
-FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
+FTDEBUG_OBJ = $(OBJ_DIR)/ftdebug.$O
 
 OBJECTS_LIST += $(FTDEBUG_OBJ)
 
 $(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
-	$(FT_COMPILE) $T$@ $<
+	$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
 
 
 # Include all rule files from FreeType components.
 #
-include $(wildcard $(SRC)/*/rules.mk)
+include $(wildcard $(SRC_DIR)/*/rules.mk)
 
 
 # ftinit component
@@ -217,13 +201,13 @@
 #   which contain additional include paths and macros used to compile the
 #   single `ftinit.c' source.
 #
-FTINIT_SRC := $(BASE_)ftinit.c
-FTINIT_OBJ := $(OBJ_)ftinit.$O
+FTINIT_SRC := $(BASE_DIR)/ftinit.c
+FTINIT_OBJ := $(OBJ_DIR)/ftinit.$O
 
 OBJECTS_LIST += $(FTINIT_OBJ)
 
 $(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
-	$(FT_COMPILE) $T$@ $<
+	$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
 
 
 # All FreeType library objects
@@ -255,7 +239,7 @@
 library: $(PROJECT_LIBRARY)
 
 .c.$O:
-	$(FT_COMPILE) $T$@ $<
+	$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
 
 
 .PHONY: clean_project_std distclean_project_std
@@ -280,10 +264,10 @@
 # working correctly on Win9x.
 #
 clean_project_dos:
-	-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
+	-$(DELETE) $(subst /,\,$(OBJ)/*.$O $(CLEAN) $(NO_OUTPUT))
 
 distclean_project_dos: clean_project_dos
-	-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(DISTCLEAN) $(NO_OUTPUT)
+	-$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
 
 
 .PHONY: remove_config_mk
@@ -291,7 +275,7 @@
 # Remove configuration file (used for distclean).
 #
 remove_config_mk:
-	-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK)) $(NO_OUTPUT)
+	-$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
 
 
 .PHONY: clean distclean
@@ -304,4 +288,5 @@
 clean: clean_project
 distclean: distclean_project remove_config_mk
 
+
 # EOF
diff --git a/builds/link_dos.mk b/builds/link_dos.mk
index bc36ed0..c37ac7e 100644
--- a/builds/link_dos.mk
+++ b/builds/link_dos.mk
@@ -38,4 +38,5 @@
 
 endif
 
+
 # EOF
diff --git a/builds/link_std.mk b/builds/link_std.mk
index d59f2c3..0bd2163 100644
--- a/builds/link_std.mk
+++ b/builds/link_std.mk
@@ -38,4 +38,5 @@
 
 endif
 
+
 # EOF
diff --git a/builds/modules.mk b/builds/modules.mk
index 536ca54..5102dc0 100644
--- a/builds/modules.mk
+++ b/builds/modules.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -26,7 +26,7 @@
 # resides.  For now, it is in `include/freetype/config/ftmodule.h'.
 #
 ifndef MODULE_LIST
-  MODULE_LIST := $(TOP_DIR)$(SEP)include$(SEP)$(PROJECT)$(SEP)config$(SEP)ftmodule.h
+  MODULE_LIST := $(TOP_DIR)/include/$(PROJECT)/config/ftmodule.h
 endif
 
 # To build the modules list, we invoke the `make_module_list' target.
@@ -39,8 +39,8 @@
 
 ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
   OPEN_MODULE   := @echo$(space)
-  CLOSE_MODULE  :=  >> $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
-  REMOVE_MODULE := @-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
+  CLOSE_MODULE  :=  >> $(subst /,\,$(MODULE_LIST))
+  REMOVE_MODULE := @-$(DELETE) $(subst /,\,$(MODULE_LIST))
 else
   OPEN_MODULE   := @echo "
   CLOSE_MODULE  := " >> $(MODULE_LIST)
@@ -53,7 +53,7 @@
 #
 clean_module_list:
 	$(REMOVE_MODULE)
-	@-echo Regenerating the modules list in $(MODULE_LIST)...
+	@-echo Regenerating modules list in $(MODULE_LIST)...
 
 make_module_list: clean_module_list
 	@echo done.
@@ -73,4 +73,5 @@
 #
 include $(wildcard $(TOP_DIR)/src/*/module.mk)
 
+
 # EOF
diff --git a/builds/os2/detect.mk b/builds/os2/detect.mk
index d332be7..97e4bc9 100644
--- a/builds/os2/detect.mk
+++ b/builds/os2/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -27,18 +27,17 @@
 
 ifeq ($(PLATFORM),os2)
 
-  COPY     := copy
-  DELETE   := del
+  COPY   := copy
+  DELETE := del
+  SEP    := $(BACKSLASH)
 
   # gcc-emx by default
   CONFIG_FILE := os2-gcc.mk
-  SEP         := /
 
   # additionally, we provide hooks for various other compilers
   #
   ifneq ($(findstring visualage,$(MAKECMDGOALS)),)     # Visual Age C++
     CONFIG_FILE := os2-icc.mk
-    SEP         := $(BACKSLASH)
     CC          := icc
     visualage: setup
     .PHONY: visualage
@@ -46,7 +45,6 @@
 
   ifneq ($(findstring watcom,$(MAKECMDGOALS)),)        # Watcom C/C++
     CONFIG_FILE := os2-wat.mk
-    SEP         := $(BACKSLASH)
     CC          := wcc386
     watcom: setup
     .PHONY: watcom
@@ -54,7 +52,6 @@
 
   ifneq ($(findstring borlandc,$(MAKECMDGOALS)),)      # Borland C++ 32-bit
     CONFIG_FILE := os2-bcc.mk
-    SEP         := $(BACKSLASH)
     CC          := bcc32
     borlandc: setup
     .PHONY: borlandc
@@ -63,7 +60,6 @@
   ifneq ($(findstring devel,$(MAKECMDGOALS)),)         # development target
     CONFIG_FILE := os2-dev.mk
     CC          := gcc
-    SEP         := /
     devel: setup
     .PHONY: devel
   endif
@@ -72,4 +68,5 @@
 
 endif   # test PLATFORM os2
 
+
 # EOF
diff --git a/builds/os2/os2-def.mk b/builds/os2/os2-def.mk
index ef4b811..26bf6a9 100644
--- a/builds/os2/os2-def.mk
+++ b/builds/os2/os2-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,15 +13,10 @@
 # fully.
 
 
-DELETE   := del
-HOSTSEP  := $(strip \ )
-BUILD    := $(TOP_DIR)$(SEP)builds$(SEP)os2
-PLATFORM := os2
-
-# except for GCC+emx on OS/2
-ifndef SEP
-  SEP    := $(HOSTSEP)
-endif
+DELETE    := del
+SEP       := $(strip \ )
+BUILD_DIR := $(TOP_DIR)/builds/os2
+PLATFORM  := os2
 
 
 # The directory where all object files are placed.
@@ -34,7 +29,7 @@
 #   make -f %TOP_DIR%/Makefile
 #
 ifndef OBJ_DIR
-  OBJ_DIR := $(TOP_DIR)$(SEP)objs
+  OBJ_DIR := $(TOP_DIR)/objs
 endif
 
 
@@ -55,4 +50,5 @@
 #
 NO_OUTPUT = 2> nul
 
+
 # EOF
diff --git a/builds/os2/os2-dev.mk b/builds/os2/os2-dev.mk
index 6527b79..96890fa 100644
--- a/builds/os2/os2-dev.mk
+++ b/builds/os2/os2-dev.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,10 +19,8 @@
   TOP_DIR := .
 endif
 
-SEP   := /
-
 include $(TOP_DIR)/builds/os2/os2-def.mk
-BUILD := $(TOP_DIR)/builds/devel
+BUILD_DIR := $(TOP_DIR)/devel
 
 include $(TOP_DIR)/builds/compiler/gcc-dev.mk
 
diff --git a/builds/os2/os2-gcc.mk b/builds/os2/os2-gcc.mk
index 5853862..446073e 100644
--- a/builds/os2/os2-gcc.mk
+++ b/builds/os2/os2-gcc.mk
@@ -13,8 +13,6 @@
 # fully.
 
 
-SEP := /
-
 # include OS/2-specific definitions
 include $(TOP_DIR)/builds/os2/os2-def.mk
 
@@ -24,4 +22,5 @@
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/toplevel.mk b/builds/toplevel.mk
index 2e9fbd0..08f50b4 100644
--- a/builds/toplevel.mk
+++ b/builds/toplevel.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2001, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -99,7 +99,9 @@
   #
   # note: This test is duplicated in "builds/toplevel.mk".
   #
-  is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
+  is_unix := $(strip $(wildcard /sbin/init) \
+                     $(wildcard /usr/sbin/init) \
+                     $(wildcard /hurd/auth))
   ifneq ($(is_unix),)
 
     distclean:
@@ -132,4 +134,5 @@
 
 endif # test check_platform
 
+
 # EOF
diff --git a/builds/unix/configure b/builds/unix/configure
index 088fa76..a9edab1 100644
--- a/builds/unix/configure
+++ b/builds/unix/configure
@@ -4126,9 +4126,9 @@
 rm -f conftest.mmap
 
 if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
-  FTSYS_SRC='$(BASE_)ftsystem.c'
+  FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
 else
-  FTSYS_SRC='$(BUILD)/ftsystem.c'
+  FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
 
   echo "$as_me:$LINENO: checking whether munmap must be declared" >&5
 echo $ECHO_N "checking whether munmap must be declared... $ECHO_C" >&6
diff --git a/builds/unix/configure.ac b/builds/unix/configure.ac
index e7ac82a..78088b7 100644
--- a/builds/unix/configure.ac
+++ b/builds/unix/configure.ac
@@ -70,9 +70,9 @@
 dnl Here we check whether we can use our mmap file component.
 AC_FUNC_MMAP
 if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
-  FTSYS_SRC='$(BASE_)ftsystem.c'
+  FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
 else
-  FTSYS_SRC='$(BUILD)/ftsystem.c'
+  FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
 
   FT_MUNMAP_DECL
   FT_MUNMAP_PARAM
diff --git a/builds/unix/detect.mk b/builds/unix/detect.mk
index 516f8ff..9fc9d60 100644
--- a/builds/unix/detect.mk
+++ b/builds/unix/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000, 2002 by
+# Copyright 1996-2000, 2002, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -18,7 +18,9 @@
 
   # Note: this test is duplicated in "builds/toplevel.mk".
   #
-  is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
+  is_unix := $(strip $(wildcard /sbin/init) \
+                     $(wildcard /usr/sbin/init) \
+                     $(wildcard /hurd/auth))
   ifneq ($(is_unix),)
 
     PLATFORM := unix
@@ -27,8 +29,8 @@
 endif # test PLATFORM ansi
 
 ifeq ($(PLATFORM),unix)
-  COPY     := cp
-  DELETE   := rm -f
+  COPY   := cp
+  DELETE := rm -f
 
   # If `devel' is the requested target, we use a special configuration
   # file named `unix-dev.mk'.  It disables optimization and libtool.
@@ -84,4 +86,5 @@
 
 endif   # test PLATFORM unix
 
+
 # EOF
diff --git a/builds/unix/install.mk b/builds/unix/install.mk
index eab00c0..935005e 100644
--- a/builds/unix/install.mk
+++ b/builds/unix/install.mk
@@ -49,10 +49,11 @@
           $(INSTALL_DATA)                                          \
             $$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
         done
-	$(INSTALL_DATA) $(BUILD)/ft2unix.h $(DESTDIR)$(includedir)/ft2build.h
+	$(INSTALL_DATA) $(BUILD_DIR)/ft2unix.h \
+          $(DESTDIR)$(includedir)/ft2build.h
 	$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
           $(DESTDIR)$(bindir)/freetype-config
-	$(INSTALL_SCRIPT) -m 644 $(BUILD)/freetype2.m4 \
+	$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
           $(DESTDIR)$(datadir)/aclocal/freetype2.m4
 	$(INSTALL_SCRIPT) -m 644 $(OBJ_BUILD)/freetype2.pc \
           $(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
diff --git a/builds/unix/unix-cc.in b/builds/unix/unix-cc.in
index 90a83ba..50df267 100644
--- a/builds/unix/unix-cc.in
+++ b/builds/unix/unix-cc.in
@@ -1,10 +1,22 @@
-# template for Unix-specific compiler definitions
+#
+# FreeType 2 template for Unix-specific compiler definitions
 #
 
-CC      := @CC@
+# Copyright 1996-2000, 2002, 2003 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+
+CC           := @CC@
+COMPILER_SEP := $(SEP)
 
 ifndef LIBTOOL
-  LIBTOOL := $(BUILD)/libtool
+  LIBTOOL := $(BUILD_DIR)/libtool
 endif
 
 
@@ -48,7 +60,7 @@
 
 # Target flag.
 #
-T := -o # Don't remove this comment line!  We need the space after `-o'.
+T := -o$(space)
 
 
 # C flags
@@ -81,4 +93,5 @@
                           -rpath $(libdir) -version-info $(version_info) \
                           $(LDFLAGS)
 
+
 # EOF
diff --git a/builds/unix/unix-def.in b/builds/unix/unix-def.in
index 790bf89..a9c1160 100644
--- a/builds/unix/unix-def.in
+++ b/builds/unix/unix-def.in
@@ -18,16 +18,15 @@
 endif
 TOP_DIR := $(shell cd $(TOP_DIR); pwd)
 
-DELETE   := @RMF@
-DELDIR   := @RMDIR@
-SEP      := /
-HOSTSEP  := $(SEP)
-BUILD    := $(TOP_DIR)/builds/unix
-PLATFORM := unix
+DELETE    := @RMF@
+DELDIR    := @RMDIR@
+SEP       := /
+BUILD_DIR := $(TOP_DIR)/builds/unix
+PLATFORM  := unix
 
 # this is used for `make distclean' and `make install'
 ifndef OBJ_BUILD
-  OBJ_BUILD := $(BUILD)
+  OBJ_BUILD := $(BUILD_DIR)
 endif
 
 # don't use `:=' here since the path stuff will be included after this file
@@ -38,7 +37,7 @@
 INSTALL_DATA    := @INSTALL_DATA@
 INSTALL_PROGRAM := @INSTALL_PROGRAM@
 INSTALL_SCRIPT  := @INSTALL_SCRIPT@
-MKINSTALLDIRS   := $(BUILD)/mkinstalldirs
+MKINSTALLDIRS   := $(BUILD_DIR)/mkinstalldirs
 
 DISTCLEAN += $(OBJ_BUILD)/config.cache    \
              $(OBJ_BUILD)/config.log      \
@@ -47,6 +46,7 @@
              $(OBJ_BUILD)/unix-cc.mk      \
              $(OBJ_BUILD)/ftconfig.h      \
              $(OBJ_BUILD)/freetype-config \
+             $(OBJ_BUILD)/freetype2.pc    \
              $(LIBTOOL)                   \
              $(OBJ_BUILD)/Makefile
 
@@ -96,4 +96,5 @@
 #
 NO_OUTPUT := 2> /dev/null
 
+
 # EOF
diff --git a/builds/unix/unix-dev.mk b/builds/unix/unix-dev.mk
index 2f10734..12c641a 100644
--- a/builds/unix/unix-dev.mk
+++ b/builds/unix/unix-dev.mk
@@ -6,7 +6,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -17,9 +17,10 @@
 
 
 include $(TOP_DIR)/builds/unix/unixddef.mk
-BUILD := $(TOP_DIR)/builds/devel
+BUILD_DIR := $(TOP_DIR)/devel
 
 include $(TOP_DIR)/builds/compiler/gcc-dev.mk
 include $(TOP_DIR)/builds/link_std.mk
 
+
 # EOF
diff --git a/builds/unix/unix-lcc.mk b/builds/unix/unix-lcc.mk
index 4ade02c..6038e52 100644
--- a/builds/unix/unix-lcc.mk
+++ b/builds/unix/unix-lcc.mk
@@ -20,4 +20,5 @@
 include $(TOP_DIR)/builds/compiler/unix-lcc.mk
 include $(TOP_DIR)/builds/link_std.mk
 
+
 # EOF
diff --git a/builds/unix/unixddef.mk b/builds/unix/unixddef.mk
index 1ea1543..803ce75 100644
--- a/builds/unix/unixddef.mk
+++ b/builds/unix/unixddef.mk
@@ -4,7 +4,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -19,12 +19,11 @@
 endif
 TOP_DIR := $(shell cd $(TOP_DIR); pwd)
 
-DELETE   := rm -f
-SEP      := /
-HOSTSEP  := $(SEP)
+DELETE := rm -f
+SEP    := /
 
 # we use a special devel ftoption.h
-BUILD    := $(TOP_DIR)/builds/devel
+BUILD_DIR := $(TOP_DIR)/devel
 
 # do not set the platform to `unix', or libtool will trick you
 PLATFORM := unixdev
@@ -50,7 +49,7 @@
 LIB_DIR := $(OBJ_DIR)
 
 
-#
 NO_OUTPUT := 2> /dev/null
 
+
 # EOF
diff --git a/builds/win32/detect.mk b/builds/win32/detect.mk
index c28d67f..f24538f 100644
--- a/builds/win32/detect.mk
+++ b/builds/win32/detect.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -46,12 +46,12 @@
 
 ifeq ($(PLATFORM),win32)
 
-  DELETE   := del
-  COPY     := copy
+  DELETE := del
+  COPY   := copy
+  SEP    := $(BACKSLASH)
 
   # gcc Makefile by default
   CONFIG_FILE := w32-gcc.mk
-  SEP         := /
   ifeq ($(firstword $(CC)),cc)
     CC        := gcc
   endif
@@ -80,7 +80,6 @@
   #
   ifneq ($(findstring visualc,$(MAKECMDGOALS)),)     # Visual C/C++
     CONFIG_FILE := w32-vcc.mk
-    SEP         := $(BACKSLASH)
     CC          := cl
     visualc: setup
     .PHONY: visualc
@@ -88,7 +87,6 @@
 
   ifneq ($(findstring intelc,$(MAKECMDGOALS)),)      # Intel C/C++
     CONFIG_FILE := w32-intl.mk
-    SEP         := $(BACKSLASH)
     CC          := cl
     visualc: setup
     .PHONY: intelc
@@ -96,7 +94,6 @@
 
   ifneq ($(findstring watcom,$(MAKECMDGOALS)),)      # Watcom C/C++
     CONFIG_FILE := w32-wat.mk
-    SEP         := $(BACKSLASH)
     CC          := wcc386
     watcom: setup
     .PHONY: watcom
@@ -104,7 +101,6 @@
 
   ifneq ($(findstring visualage,$(MAKECMDGOALS)),)   # Visual Age C++
     CONFIG_FILE := w32-icc.mk
-    SEP         := $(BACKSLASH)
     CC          := icc
     visualage: setup
     .PHONY: visualage
@@ -112,7 +108,6 @@
 
   ifneq ($(findstring lcc,$(MAKECMDGOALS)),)         # LCC-Win32
     CONFIG_FILE := w32-lcc.mk
-    SEP         := $(BACKSLASH)
     CC          := lcc
     lcc: setup
     .PHONY: lcc
@@ -120,7 +115,6 @@
 
   ifneq ($(findstring mingw32,$(MAKECMDGOALS)),)     # mingw32
     CONFIG_FILE := w32-mingw32.mk
-    SEP         := $(BACKSLASH)
     CC          := gcc
     mingw32: setup
     .PHONY: mingw32
@@ -128,7 +122,6 @@
 
   ifneq ($(findstring bcc32,$(MAKECMDGOALS)),)       # Borland C++
     CONFIG_FILE := w32-bcc.mk
-    SEP         := $(BACKSLASH)
     CC          := bcc32
     bcc32: setup
     .PHONY: bcc32
@@ -137,7 +130,6 @@
   ifneq ($(findstring devel-bcc,$(MAKECMDGOALS)),)   # development target
     CONFIG_FILE := w32-bccd.mk
     CC          := bcc32
-    SEP         := /
     devel-bcc: setup
     .PHONY: devel-bcc
   endif
@@ -145,11 +137,11 @@
   ifneq ($(findstring devel-gcc,$(MAKECMDGOALS)),)   # development target
     CONFIG_FILE := w32-dev.mk
     CC          := gcc
-    SEP         := /
     devel-gcc: setup
     .PHONY: devel-gcc
   endif
 
 endif   # test PLATFORM win32
 
+
 # EOF
diff --git a/builds/win32/w32-bcc.mk b/builds/win32/w32-bcc.mk
index 5c24724..522d6b3 100644
--- a/builds/win32/w32-bcc.mk
+++ b/builds/win32/w32-bcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,11 +13,11 @@
 # fully.
 
 
-SEP := /
 include $(TOP_DIR)/builds/win32/win32-def.mk
 include $(TOP_DIR)/builds/compiler/bcc.mk
 
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-bccd.mk b/builds/win32/w32-bccd.mk
index 80e44ff..2951999 100644
--- a/builds/win32/w32-bccd.mk
+++ b/builds/win32/w32-bccd.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,14 +13,13 @@
 # fully.
 
 
-SEP   := /
-
 include $(TOP_DIR)/builds/win32/win32-def.mk
-BUILD := $(TOP_DIR)/builds/devel
+BUILD_DIR := $(TOP_DIR)/devel
 
 include $(TOP_DIR)/builds/compiler/bcc-dev.mk
 
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-dev.mk b/builds/win32/w32-dev.mk
index 17aa0aa..0b665de 100644
--- a/builds/win32/w32-dev.mk
+++ b/builds/win32/w32-dev.mk
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -23,10 +23,8 @@
   TOP_DIR := .
 endif
 
-SEP   := /
-
 include $(TOP_DIR)/builds/win32/win32-def.mk
-BUILD := $(TOP_DIR)/builds/devel
+BUILD_DIR := $(TOP_DIR)/devel
 
 include $(TOP_DIR)/builds/compiler/gcc-dev.mk
 
@@ -34,5 +32,4 @@
 include $(TOP_DIR)/builds/link_dos.mk
 
 
-
 # EOF
diff --git a/builds/win32/w32-gcc.mk b/builds/win32/w32-gcc.mk
index 86f6ddd..91d1133 100644
--- a/builds/win32/w32-gcc.mk
+++ b/builds/win32/w32-gcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,10 +13,6 @@
 # fully.
 
 
-# the separator must be set before including win32-def
-# as it defaults to "\" on Win32
-SEP := /
-
 # include Win32-specific definitions
 include $(TOP_DIR)/builds/win32/win32-def.mk
 
@@ -26,4 +22,5 @@
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-icc.mk b/builds/win32/w32-icc.mk
index 8b63ce0..1e18202 100644
--- a/builds/win32/w32-icc.mk
+++ b/builds/win32/w32-icc.mk
@@ -19,4 +19,5 @@
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-intl.mk b/builds/win32/w32-intl.mk
index 4f6a034..5c42ad3 100644
--- a/builds/win32/w32-intl.mk
+++ b/builds/win32/w32-intl.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,11 +13,11 @@
 # fully.
 
 
-SEP := /
 include $(TOP_DIR)/builds/win32/win32-def.mk
 include $(TOP_DIR)/builds/compiler/intelc.mk
 
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-mingw32.mk b/builds/win32/w32-mingw32.mk
index 236e810..01f71b3 100644
--- a/builds/win32/w32-mingw32.mk
+++ b/builds/win32/w32-mingw32.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,10 +13,6 @@
 # fully.
 
 
-# the separator must be set before including win32-def
-# as it defaults to "\" on Win32
-SEP := /
-
 # include Win32-specific definitions
 include $(TOP_DIR)/builds/win32/win32-def.mk
 
@@ -28,4 +24,5 @@
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-vcc.mk b/builds/win32/w32-vcc.mk
index 459e187..37bfec3 100644
--- a/builds/win32/w32-vcc.mk
+++ b/builds/win32/w32-vcc.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,11 +13,11 @@
 # fully.
 
 
-SEP := /
 include $(TOP_DIR)/builds/win32/win32-def.mk
 include $(TOP_DIR)/builds/compiler/visualc.mk
 
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
+
 # EOF
diff --git a/builds/win32/w32-wat.mk b/builds/win32/w32-wat.mk
index ab250dc..accafc5 100644
--- a/builds/win32/w32-wat.mk
+++ b/builds/win32/w32-wat.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,14 +13,11 @@
 # fully.
 
 
-SEP  := /
-ISEP := $(strip \ )
-
 include $(TOP_DIR)/builds/win32/win32-def.mk
 include $(TOP_DIR)/builds/compiler/watcom.mk
 
 # include linking instructions
 include $(TOP_DIR)/builds/link_dos.mk
 
-# EOF
 
+# EOF
diff --git a/builds/win32/win32-def.mk b/builds/win32/win32-def.mk
index 9b43a03..a9db459 100644
--- a/builds/win32/win32-def.mk
+++ b/builds/win32/win32-def.mk
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 1996-2000 by
+# Copyright 1996-2000, 2003 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -13,17 +13,10 @@
 # fully.
 
 
-DELETE   := del
-HOSTSEP  := $(strip \ )
-BUILD    := $(TOP_DIR)$(SEP)builds$(SEP)win32
-PLATFORM := win32
-
-# by default, we use "\" as a separator on Win32
-# but certain compilers accept "/" as well
-#
-ifndef SEP
-  SEP    := $(HOSTSEP)
-endif
+DELETE    := del
+SEP       := $(strip \ )
+BUILD_DIR := $(TOP_DIR)/builds/win32
+PLATFORM  := win32
 
 
 # The directory where all object files are placed.
@@ -36,7 +29,7 @@
 #   make -f %TOP_DIR%/Makefile
 #
 ifndef OBJ_DIR
-  OBJ_DIR := $(TOP_DIR)$(SEP)objs
+  OBJ_DIR := $(TOP_DIR)/objs
 endif
 
 
@@ -58,4 +51,5 @@
 #
 NO_OUTPUT = 2> nul
 
+
 # EOF