* builds/os2/*.mk: These files have been forgotten to update to
the structure of similar makefiles.
* builds/dos/*.mk: Ditto.
* builds/ansi/*.mk: Ditto.

* builds/win32/win32-def.mk (BUILD): Fix typo.

* builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
This is already used in the link_*.mk files.


* src/*/Jamfile: Slight changes	to make files more cryptic.
diff --git a/ChangeLog b/ChangeLog
index 36569f8..5078cb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2001-04-05  Werner Lemberg  <wl@gnu.org>
+
+	* builds/os2/*.mk: These files have been forgotten to update to
+	the structure of similar makefiles.
+	* builds/dos/*.mk: Ditto.
+	* builds/ansi/*.mk: Ditto.
+
+	* builds/win32/win32-def.mk (BUILD): Fix typo.
+
+	* builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT.
+	This is already used in the link_*.mk files.
+
+2001-04-03  Werner Lemberg  <wl@gnu.org>
+
+	* src/*/Jamfile: Slight changes	to make files more cryptic.
+
 2001-04-03  Werner Lemberg  <wl@gnu.org>
 
 	* Jamfile, src/Jamfile, src/*/Jamfile: Formatted.  Slight changes
diff --git a/Jamrules b/Jamrules
index 7bb4f52..eb65f92 100644
--- a/Jamrules
+++ b/Jamrules
@@ -18,7 +18,7 @@
   LIBPREFIX ?= "" ;
 }
 
-# FT_TOP contains the location of the FreeType source directory.  You can
+# FT2_TOP contains the location of the FreeType source directory.  You can
 # set it to a specific value if you want to compile the library as part of a
 # larger project.
 #
diff --git a/builds/ansi/ansi-def.mk b/builds/ansi/ansi-def.mk
index 9d4685e..e755e75 100644
--- a/builds/ansi/ansi-def.mk
+++ b/builds/ansi/ansi-def.mk
@@ -91,30 +91,4 @@
 ANSIFLAGS :=
 
 
-ifdef BUILD_PROJECT
-
-  .PHONY: clean_project distclean_project
-
-  # Now include the main sub-makefile.  It contains all the rules used to
-  # build the library with the previous variables defined.
-  #
-  include $(TOP)/builds/$(PROJECT).mk
-
-  # The cleanup targets.
-  #
-  clean_project: clean_project_std
-  distclean_project: distclean_project_std
-
-  # This final rule is used to link all object files into a single library.
-  # It is part of the system-specific sub-Makefile because not all
-  # librarians accept a simple syntax like
-  #
-  #   librarian library_file {list of object files}
-  #
-  $(PROJECT_LIBRARY): $(OBJECTS_LIST)
-	  -$(CLEAN_LIBRARY) $(NO_OUTPUT)
-	  $(LINK_LIBRARY)
-
-endif
-
 # EOF
diff --git a/builds/ansi/ansi.mk b/builds/ansi/ansi.mk
index 04d90ca..6a49774 100644
--- a/builds/ansi/ansi.mk
+++ b/builds/ansi/ansi.mk
@@ -13,7 +13,8 @@
 # fully.
 
 
-include $(TOP)/builds/compiler/ansi-cc.mk
 include $(TOP)/builds/ansi/ansi-def.mk
+include $(TOP)/builds/compiler/ansi-cc.mk
+include $(TOP)/builds/link_std.mk
 
 # EOF
diff --git a/builds/compiler/ansi-cc.mk b/builds/compiler/ansi-cc.mk
index 0a59896..0309e39 100644
--- a/builds/compiler/ansi-cc.mk
+++ b/builds/compiler/ansi-cc.mk
@@ -74,8 +74,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
diff --git a/builds/compiler/bcc-dev.mk b/builds/compiler/bcc-dev.mk
index b603ed9..aa5c369 100644
--- a/builds/compiler/bcc-dev.mk
+++ b/builds/compiler/bcc-dev.mk
@@ -72,8 +72,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
 LINK_LIBRARY   = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
diff --git a/builds/compiler/bcc.mk b/builds/compiler/bcc.mk
index 8c9fabf..938ecee 100644
--- a/builds/compiler/bcc.mk
+++ b/builds/compiler/bcc.mk
@@ -72,8 +72,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
 LINK_LIBRARY   = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
diff --git a/builds/compiler/gcc-dev.mk b/builds/compiler/gcc-dev.mk
index df62aad..62df898 100644
--- a/builds/compiler/gcc-dev.mk
+++ b/builds/compiler/gcc-dev.mk
@@ -81,8 +81,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
diff --git a/builds/compiler/gcc.mk b/builds/compiler/gcc.mk
index 54d9696..34a3ad7 100644
--- a/builds/compiler/gcc.mk
+++ b/builds/compiler/gcc.mk
@@ -72,8 +72,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
diff --git a/builds/compiler/unix-lcc.mk b/builds/compiler/unix-lcc.mk
index f4046de..fd8c7fb 100644
--- a/builds/compiler/unix-lcc.mk
+++ b/builds/compiler/unix-lcc.mk
@@ -78,8 +78,7 @@
 # library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
 
diff --git a/builds/compiler/watcom.mk b/builds/compiler/watcom.mk
index e1e2d11..7669ed6 100644
--- a/builds/compiler/watcom.mk
+++ b/builds/compiler/watcom.mk
@@ -74,8 +74,7 @@
 # Library linking
 #
 ifndef CLEAN_LIBRARY
-  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
-                  $(NO_OUTPUT)
+  CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
 endif
 LINK_LIBRARY = wlib -q -o = $@ $(OBJECTS_LIST)
 
diff --git a/builds/dos/dos-def.mk b/builds/dos/dos-def.mk
index 19c1301..42fffbb 100644
--- a/builds/dos/dos-def.mk
+++ b/builds/dos/dos-def.mk
@@ -56,30 +56,4 @@
 NO_OUTPUT = &> nul
 
 
-ifdef BUILD_PROJECT
-
-  .PHONY: clean_project distclean_project
-
-  # Now include the main sub-makefile.  It contains all the rules used to
-  # build the library with the previous variables defined.
-  #
-  include $(TOP)/builds/$(PROJECT).mk
-
-  # The cleanup targets.
-  #
-  clean_project: clean_project_dos
-  distclean_project: distclean_project_dos
-
-  # This final rule is used to link all object files into a single library.
-  # It is part of the system-specific sub-Makefile because not all
-  # librarians accept a simple syntax like
-  #
-  #   librarian library_file {list of object files}
-  #
-  $(PROJECT_LIBRARY): $(OBJECTS_LIST)
-	  -$(CLEAN_LIBRARY) $(NO_OUTPUT)
-	  $(LINK_LIBRARY)
-
-endif
-
 # EOF
diff --git a/builds/dos/dos-gcc.mk b/builds/dos/dos-gcc.mk
index 50bfa3b..1fab6f0 100644
--- a/builds/dos/dos-gcc.mk
+++ b/builds/dos/dos-gcc.mk
@@ -14,9 +14,9 @@
 
 
 SEP := /
-CLEAN_LIBRARY := $(DELETE) $@
 
-include $(TOP)/builds/compiler/gcc.mk
 include $(TOP)/builds/dos/dos-def.mk
+include $(TOP)/builds/compiler/gcc.mk
+include $(TOP)/builds/link_dos.mk
 
 # EOF
diff --git a/builds/os2/os2-def.mk b/builds/os2/os2-def.mk
index e25f90c..8f20ffb 100644
--- a/builds/os2/os2-def.mk
+++ b/builds/os2/os2-def.mk
@@ -55,31 +55,4 @@
 #
 NO_OUTPUT = 2> nul
 
-
-ifdef BUILD_LIBRARY
-
-  .PHONY: clean_project distclean_project
-
-  # Now include the main sub-makefile.  It contains all the rules used to
-  # build the library with the previous variables defined.
-  #
-  include $(TOP)/builds/$(PROJECT).mk
-
-  # The cleanup targets.
-  #
-  clean_project: clean_project_dos
-  distclean_project: distclean_project_dos
-
-  # This final rule is used to link all object files into a single library.
-  # It is part of the system-specific sub-Makefile because not all
-  # librarians accept a simple syntax like
-  #
-  #   librarian library_file {list of object files}
-  #
-  $(PROJECT_LIBRARY): $(OBJECTS_LIST)
-	  -$(CLEAN_LIBRARY) $(NO_OUTPUT)
-	  $(LINK_LIBRARY)
-
-endif
-
 # EOF
diff --git a/builds/os2/os2-dev.mk b/builds/os2/os2-dev.mk
index db7f3d5..f1e96d2 100644
--- a/builds/os2/os2-dev.mk
+++ b/builds/os2/os2-dev.mk
@@ -1,5 +1,5 @@
 #
-# FreeType 2 configuration rules for OS/2 + gcc
+# FreeType 2 configuration rules for OS/2 + GCC
 #
 #   Development version without optimizations.
 #
@@ -19,123 +19,15 @@
   TOP := .
 endif
 
-DELETE   := del
-SEP      := /
-HOSTSEP  := $(strip \ )
-BUILD    := $(TOP)/builds/os2
-PLATFORM := os2
-CC       := gcc
+SEP   := /
 
+include $(TOP)/builds/os2/os2-def.mk
+BUILD := $(TOP)/builds/devel
 
-# The directory where all object files are placed.
-#
-# This lets you build the library in your own directory with something like
-#
-#   set TOP=.../path/to/freetype2/top/dir...
-#   set OBJ_DIR=.../path/to/obj/dir
-#   make -f %TOP%/Makefile setup [options]
-#   make -f %TOP%/Makefile
-#
-ifndef OBJ_DIR
-  OBJ_DIR := $(TOP)$(SEP)obj
-endif
+include $(TOP)/builds/compiler/gcc-dev.mk
 
+# include linking instructions
+include $(TOP)/builds/link_dos.mk
 
-# The directory where all library files are placed.
-#
-# By default, this is the same as $(OBJ_DIR); however, this can be changed
-# to suit particular needs.
-#
-LIB_DIR := $(OBJ_DIR)
-
-
-# The object file extension (for standard and static libraries).  This can be
-# .o, .tco, .obj, etc., depending on the platform.
-#
-O  := o
-SO := o
-
-# The library file extension (for standard and static libraries).  This can
-# be .a, .lib, etc., depending on the platform.
-#
-A  := a
-SA := a
-
-
-# The name of the final library file.  Note that the DOS-specific Makefile
-# uses a shorter (8.3) name.
-#
-LIBRARY := lib$(PROJECT)
-
-
-# Path inclusion flag.  Some compilers use a different flag than `-I' to
-# specify an additional include path.  Examples are `/i=' or `-J'.
-#
-I := -I
-
-
-# C flag used to define a macro before the compilation of a given source
-# object.  Usually it is `-D' like in `-DDEBUG'.
-#
-D := -D
-
-
-# The link flag used to specify a given library file on link.  Note that
-# this is only used to compile the demo programs, not the library itself.
-#
-L := -l
-
-
-# Target flag.
-#
-T := -o$(space)
-
-
-# C flags
-#
-#   These should concern: debug output, optimization & warnings.
-#
-#   Use the ANSIFLAGS variable to define the compiler flags used to enfore
-#   ANSI compliance.
-#
-ifndef CFLAGS
-  CFLAGS := -c -g -O0 -Wall
-endif
-
-# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
-#
-ANSIFLAGS := -ansi -pedantic
-
-
-ifdef BUILD_FREETYPE
-
-  .PHONY: clean_freetype distclean_freetype
-
-  # Now include the main sub-makefile.  It contains all the rules used to
-  # build the library with the previous variables defined.
-  #
-  include $(TOP)/builds/freetype.mk
-
-  # The cleanup targets.
-  #
-  clean_freetype: clean_freetype_dos
-  distclean_freetype: distclean_freetype_dos
-
-  # Librarian to use to build the static library
-  #
-  FT_LIBRARIAN := $(AR) -r
-
-
-  # This final rule is used to link all object files into a single library.
-  # It is part of the system-specific sub-Makefile because not all
-  # librarians accept a simple syntax like
-  #
-  #   librarian library_file {list of object files}
-  #
-  $(FT_LIBRARY): $(OBJECTS_LIST)
-	  -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
-	  $(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
-
-endif
 
 # EOF
diff --git a/builds/os2/os2-gcc.mk b/builds/os2/os2-gcc.mk
index 6470c72..275dacc 100644
--- a/builds/os2/os2-gcc.mk
+++ b/builds/os2/os2-gcc.mk
@@ -1,5 +1,5 @@
 #
-# FreeType 2 configuration rules for OS/2 + gcc
+# FreeType 2 configuration rules for the OS/2 + gcc
 #
 
 
@@ -13,128 +13,15 @@
 # fully.
 
 
-ifndef TOP
-  TOP := .
-endif
+SEP := /
 
-DELETE   := del
-SEP      := /
-HOSTSEP  := $(strip \ )
-BUILD    := $(TOP)/builds/os2
-PLATFORM := os2
-CC       := gcc
+# include OS/2-specific definitions
+include $(TOP)/builds/os2/os2-def.mk
 
+# include gcc-specific definitions
+include $(TOP)/builds/compiler/gcc.mk
 
-# The directory where all object files are placed.
-#
-# This lets you build the library in your own directory with something like
-#
-#   set TOP=.../path/to/freetype2/top/dir...
-#   set OBJ_DIR=.../path/to/obj/dir
-#   make -f %TOP%Makefile setup [options]
-#   make -f %TOP%Makefile
-#
-ifndef OBJ_DIR
-  OBJ_DIR := $(TOP)$(SEP)obj
-endif
-
-
-# The directory where all library files are placed.
-#
-# By default, this is the same as $(OBJ_DIR); however, this can be changed
-# to suit particular needs.
-#
-LIB_DIR := $(OBJ_DIR)
-
-
-# The object file extension (for standard and static libraries).  This can be
-# .o, .tco, .obj, etc., depending on the platform.
-#
-O  := o
-SO := o
-
-
-# The library file extension (for standard and static libraries).  This can
-# be .a, .lib, etc., depending on the platform.
-#
-A  := a
-SA := a
-
-
-# The name of the final library file.  Note that the DOS-specific Makefile
-# uses a shorter (8.3) name.
-#
-LIBRARY := lib$(PROJECT)
-
-
-# Path inclusion flag.  Some compilers use a different flag than `-I' to
-# specify an additional include path.  Examples are `/i=' or `-J'.
-#
-I := -I
-
-
-# C flag used to define a macro before the compilation of a given source
-# object.  Usually it is `-D' like in `-DDEBUG'.
-#
-D := -D
-
-
-# The link flag used to specify a given library file on link.  Note that
-# this is only used to compile the demo programs, not the library itself.
-#
-L := -l
-
-
-# Target flag.
-#
-T := -o$(space)
-
-
-# C flags
-#
-#   These should concern: debug output, optimization & warnings.
-#
-#   Use the ANSIFLAGS variable to define the compiler flags used to enfore
-#   ANSI compliance.
-#
-ifndef CFLAGS
-  CFLAGS := -c -g -O6 -Wall
-endif
-
-# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
-#
-ANSIFLAGS := -ansi -pedantic
-
-
-ifdef BUILD_FREETYPE
-
-  .PHONY: clean_freetype distclean_freetype
-
-  # Now include the main sub-makefile.  It contains all the rules used to
-  # build the library with the previous variables defined.
-  #
-  include $(TOP)/builds/freetype.mk
-
-  # The cleanup targets.
-  #
-  clean_freetype: clean_freetype_dos
-  distclean_freetype: distclean_freetype_dos
-
-  # Librarian to use to build the static library
-  #
-  FT_LIBRARIAN := $(AR) -r
-
-
-  # This final rule is used to link all object files into a single library.
-  # It is part of the system-specific sub-Makefile because not all
-  # librarians accept a simple syntax like
-  #
-  #   librarian library_file {list of object files}
-  #
-  $(FT_LIBRARY): $(OBJECTS_LIST)
-	  -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
-	  $(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
-
-endif
+# include linking instructions
+include $(TOP)/builds/link_dos.mk
 
 # EOF
diff --git a/builds/win32/win32-def.mk b/builds/win32/win32-def.mk
index 590237c..c71d856 100644
--- a/builds/win32/win32-def.mk
+++ b/builds/win32/win32-def.mk
@@ -15,7 +15,7 @@
 
 DELETE   := del
 HOSTSEP  := $(strip \ )
-BUILD    := $(TOP)$(SEP)config$(SEP)win32
+BUILD    := $(TOP)$(SEP)builds$(SEP)win32
 PLATFORM := win32
 
 # by default, we use "\" as a separator on Win32
diff --git a/src/autohint/Jamfile b/src/autohint/Jamfile
index f9ac828..ed2da3a 100644
--- a/src/autohint/Jamfile
+++ b/src/autohint/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ahangles.c ahglobal.c ahglyph.c ahhint.c ahmodule.c ;
+    _sources = ahangles ahglobal ahglyph ahhint ahmodule ;
   }
   else
   {
-    _sources = autohint.c ;
+    _sources = autohint ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/autohint Jamfile
diff --git a/src/base/Jamfile b/src/base/Jamfile
index 7b6492e..8bacddb 100644
--- a/src/base/Jamfile
+++ b/src/base/Jamfile
@@ -10,15 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ftcalc.c ftextend.c ftlist.c ftobjs.c ftstream.c
-               ftoutln.c ftnames.c ;
+    _sources = ftcalc ftextend ftlist ftobjs ftstream ftoutln ftnames ;
   }
   else
   {
-    _sources = ftbase.c ;
+    _sources = ftbase ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # Add the optional/replaceable files.
diff --git a/src/cache/Jamfile b/src/cache/Jamfile
index 4ed8e0d..1cbdc77 100644
--- a/src/cache/Jamfile
+++ b/src/cache/Jamfile
@@ -5,9 +5,6 @@
 
 SubDirHdrs  [ FT2_SubDir  src cache ] ;
 
-ft2_cache_sources = ftlru.c ftcmanag.c ftcglyph.c ftcchunk.c
-                    ftcsbits.c ftcimage.c ;
-
 # The file <freetype/ftcache.h> contains some macro definitions that are
 # later used in #include statements related to the cache sub-system.  It
 # needs to be parsed through a HDRMACRO rule for macro definitions.
@@ -19,15 +16,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ftlru.c ftcmanag.c ftcglyph.c ftcchunk.c
-               ftcsbits.c ftcimage.c ;
+    _sources = ftlru ftcmanag ftcglyph ftcchunk ftcsbits ftcimage ;
   }
   else
   {
-    _sources = ftcache.c ;
+    _sources = ftcache ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/cache Jamfile
diff --git a/src/cff/Jamfile b/src/cff/Jamfile
index cf406f1..9ff721d 100644
--- a/src/cff/Jamfile
+++ b/src/cff/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = cffdrivr.c cffgload.c cffload.c cffobjs.c cffparse.c ;
+    _sources = cffdrivr cffgload cffload cffobjs cffparse ;
   }
   else
   {
-    _sources = cff.c ;
+    _sources = cff ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/cff Jamfile
diff --git a/src/cid/Jamfile b/src/cid/Jamfile
index 12386f4..87c580d 100644
--- a/src/cid/Jamfile
+++ b/src/cid/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = cidobjs.c cidload.c cidgload.c cidriver.c cidparse.c ;
+    _sources = cidobjs cidload cidgload cidriver cidparse ;
   }
   else
   {
-    _sources = type1cid.c ;
+    _sources = type1cid ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/cid Jamfile
diff --git a/src/pcf/Jamfile b/src/pcf/Jamfile
index 0a80b77..8625fa1 100644
--- a/src/pcf/Jamfile
+++ b/src/pcf/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = pcfdriver.c pcfread.c pcfutil.c ;
+    _sources = pcfdriver pcfread pcfutil ;
   }
   else
   {
-    _sources = pcf.c ;
+    _sources = pcf ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/pcf Jamfile
diff --git a/src/psaux/Jamfile b/src/psaux/Jamfile
index 4c978c4..4f63dac 100644
--- a/src/psaux/Jamfile
+++ b/src/psaux/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = psauxmod.c psobjs.c t1decode.c ;
+    _sources = psauxmod psobjs t1decode ;
   }
   else
   {
-    _sources = psaux.c ;
+    _sources = psaux ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/psaux Jamfile
diff --git a/src/psnames/Jamfile b/src/psnames/Jamfile
index c5e76bb..e9e22ea 100644
--- a/src/psnames/Jamfile
+++ b/src/psnames/Jamfile
@@ -10,14 +10,14 @@
   
   if $(FT2_MULTI)
   {
-    _sources = psmodule.c ;
+    _sources = psmodule ;
   }
   else
   {
-    _sources = psnames.c ;
+    _sources = psnames ;
   }
   
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/psnames Jamfile
diff --git a/src/raster/Jamfile b/src/raster/Jamfile
index b886cf4..6c75e0d 100644
--- a/src/raster/Jamfile
+++ b/src/raster/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ftraster.c ftrend1.c ;
+    _sources = ftraster ftrend1 ;
   }
   else
   {
-    _sources = raster.c ;
+    _sources = raster ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/raster Jamfile
diff --git a/src/sfnt/Jamfile b/src/sfnt/Jamfile
index c1980ba..2682f12 100644
--- a/src/sfnt/Jamfile
+++ b/src/sfnt/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = sfobjs.c sfdriver.c ttcmap.c ttpost.c ttload.c ttsbit.c ;
+    _sources = sfobjs sfdriver ttcmap ttpost ttload ttsbit ;
   }
   else
   {
-    _sources = sfnt.c ;
+    _sources = sfnt ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/sfnt Jamfile
diff --git a/src/smooth/Jamfile b/src/smooth/Jamfile
index f5eabc2..709c856 100644
--- a/src/smooth/Jamfile
+++ b/src/smooth/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ftgrays.c ftsmooth.c ;
+    _sources = ftgrays ftsmooth ;
   }
   else
   {
-    _sources = smooth.c ;
+    _sources = smooth ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/smooth Jamfile
diff --git a/src/truetype/Jamfile b/src/truetype/Jamfile
index a438ab8..4d7a312 100644
--- a/src/truetype/Jamfile
+++ b/src/truetype/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = ttdriver.c ttobjs.c ttpload.c ttgload.c ttinterp.c ;
+    _sources = ttdriver ttobjs ttpload ttgload ttinterp ;
   }
   else
   {
-    _sources = truetype.c ;
+    _sources = truetype ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/truetype Jamfile
diff --git a/src/type1/Jamfile b/src/type1/Jamfile
index 4d55e99..1cbb78d 100644
--- a/src/type1/Jamfile
+++ b/src/type1/Jamfile
@@ -10,14 +10,14 @@
 
   if $(FT2_MULTI)
   {
-    _sources = t1afm.c t1driver.c t1objs.c t1load.c t1gload.c t1parse.c ;
+    _sources = t1afm t1driver t1objs t1load t1gload t1parse ;
   }
   else
   {
-    _sources = type1.c ;
+    _sources = type1 ;
   }
 
-  Library  $(FT2_LIB) : $(_sources) ;
+  Library  $(FT2_LIB) : $(_sources).c ;
 }
 
 # end of src/type1 Jamfile