From 858f310b80da8655ba0d30a9551e8fbcc3de4818 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 9 Jun 2003 04:46:30 +0000 Subject: [PATCH] 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 . * 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. --- ChangeLog | 36 +++++++++++++++ builds/ansi/ansi-def.mk | 13 +++--- builds/ansi/ansi.mk | 1 + builds/beos/beos-def.mk | 13 +++--- builds/beos/beos.mk | 2 +- builds/beos/detect.mk | 11 +++-- builds/compiler/ansi-cc.mk | 11 +++-- builds/compiler/bcc-dev.mk | 12 ++--- builds/compiler/bcc.mk | 12 ++--- builds/compiler/gcc-dev.mk | 9 ++-- builds/compiler/gcc.mk | 9 ++-- builds/compiler/intelc.mk | 8 ++-- builds/compiler/unix-lcc.mk | 8 ++-- builds/compiler/visualage.mk | 8 ++-- builds/compiler/visualc.mk | 8 ++-- builds/compiler/watcom.mk | 11 +++-- builds/compiler/win-lcc.mk | 8 ++-- builds/detect.mk | 38 ++++++++-------- builds/dos/detect.mk | 10 ++--- builds/dos/dos-def.mk | 17 +++----- builds/dos/dos-gcc.mk | 5 +-- builds/dos/dos-wat.mk | 17 ++++++++ builds/freetype.mk | 85 +++++++++++++++--------------------- builds/link_dos.mk | 1 + builds/link_std.mk | 1 + builds/modules.mk | 11 ++--- builds/os2/detect.mk | 13 +++--- builds/os2/os2-def.mk | 18 +++----- builds/os2/os2-dev.mk | 6 +-- builds/os2/os2-gcc.mk | 3 +- builds/toplevel.mk | 7 ++- builds/unix/configure | 4 +- builds/unix/configure.ac | 4 +- builds/unix/detect.mk | 11 +++-- builds/unix/install.mk | 5 ++- builds/unix/unix-cc.in | 21 +++++++-- builds/unix/unix-def.in | 17 ++++---- builds/unix/unix-dev.mk | 5 ++- builds/unix/unix-lcc.mk | 1 + builds/unix/unixddef.mk | 11 +++-- builds/win32/detect.mk | 18 +++----- builds/win32/w32-bcc.mk | 4 +- builds/win32/w32-bccd.mk | 7 ++- builds/win32/w32-dev.mk | 7 +-- builds/win32/w32-gcc.mk | 7 +-- builds/win32/w32-icc.mk | 1 + builds/win32/w32-intl.mk | 4 +- builds/win32/w32-mingw32.mk | 7 +-- builds/win32/w32-vcc.mk | 4 +- builds/win32/w32-wat.mk | 7 +-- builds/win32/win32-def.mk | 20 +++------ devel/ft2build.h | 2 +- devel/ftoption.h | 44 +++++++++++++++++-- src/autohint/rules.mk | 35 ++++++++------- src/base/rules.mk | 57 ++++++++++++------------ src/bdf/rules.mk | 27 ++++++------ src/cache/rules.mk | 59 ++++++++++++------------- src/cff/rules.mk | 36 +++++++-------- src/cid/rules.mk | 34 +++++++-------- src/gzip/rules.mk | 27 ++++++------ src/pcf/rules.mk | 34 +++++++-------- src/pfr/rules.mk | 32 +++++++------- src/psaux/rules.mk | 29 ++++++------ src/pshinter/rules.mk | 27 ++++++------ src/psnames/rules.mk | 25 +++++------ src/raster/rules.mk | 53 +++++++++++----------- src/sfnt/rules.mk | 35 ++++++++------- src/smooth/rules.mk | 27 ++++++------ src/truetype/rules.mk | 32 +++++++------- src/type1/rules.mk | 36 +++++++-------- src/type42/rules.mk | 28 ++++++------ src/winfonts/rules.mk | 24 +++++----- 72 files changed, 678 insertions(+), 602 deletions(-) create mode 100644 builds/dos/dos-wat.mk diff --git a/ChangeLog b/ChangeLog index ebb03f8ff..ee7bebae9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,44 @@ +2003-06-08 Werner Lemberg + + 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 + . + * 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'. + 2003-06-07 Werner Lemberg * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to make it compile. + * devel/ftoption.h: Updated. + 2002-06-07 Detlef Würkner * include/freetype/internal/psaux.h, src/truetype/ttgload.h: diff --git a/builds/ansi/ansi-def.mk b/builds/ansi/ansi-def.mk index 032a7b802..bf2aa36f1 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 @@ ifndef TOP_DIR 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 @@ PLATFORM := ansi # 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 739d48591..32b3bac3e 100644 --- a/builds/ansi/ansi.mk +++ b/builds/ansi/ansi.mk @@ -17,4 +17,5 @@ include $(TOP_DIR)/builds/ansi/ansi-def.mk 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 eb55db94b..b569fe62c 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 @@ ifndef TOP_DIR 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 @@ PLATFORM := beos # 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 1ccf8cea0..1bc8e3ae3 100644 --- a/builds/beos/beos.mk +++ b/builds/beos/beos.mk @@ -15,5 +15,5 @@ include $(TOP_DIR)/builds/compiler/ansi-cc.mk 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 89b3f685e..8333aba4f 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 @@ endif 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 0309e39fc..c52c12fcc 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 @@ ANSIFLAGS := # 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 aa5c369d8..446fd4e62 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 @@ ANSIFLAGS := -A # 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 938eceeac..eedfa10fb 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 @@ ANSIFLAGS := -A # 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 76d0ba0b5..c52f79f96 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 @@ ANSIFLAGS := -ansi -pedantic # 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 f2c94de3b..83ee981c5 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 @@ ANSIFLAGS := -ansi -pedantic # 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 0c3088a73..954dcf64c 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 @@ ANSIFLAGS := /Qansi /Za # 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 fd8c7fbd9..cf4ef5a00 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 @@ ANSIFLAGS := -A # 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 3d07ac6ec..21ef12b27 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 @@ ANSI_FLAGS := /Sa # 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 235a4df06..92d71a974 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 @@ ANSIFLAGS := /Za # 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 7669ed620..f9e1764ab 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 @@ ANSIFLAGS := -za # 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 6e9512ae5..c500d82cf 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 @@ ANSIFLAGS := # 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 ad825adbc..13525c47d 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 @@ ifndef TOP_DIR 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 @@ BACKSLASH := $(strip \ ) # 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 @@ ifeq ($(findstring ansi,$(MAKECMDGOALS)),) # 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 @@ std_setup: @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 @@ dos_setup: @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 @@ dos_setup: @type builds\newline @$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul + # EOF diff --git a/builds/dos/detect.mk b/builds/dos/detect.mk index 046784887..4dba521a7 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 @@ ifeq ($(PLATFORM),dos) # Use DJGPP (i.e. gcc) by default. # CONFIG_FILE := dos-gcc.mk - SEP := / ifndef CC CC := gcc endif @@ -66,7 +65,6 @@ ifeq ($(PLATFORM),dos) # ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C CONFIG_FILE := dos-tcc.mk - SEP := $(BACKSLASH) CC := tcc turboc: setup .PHONY: turboc @@ -74,7 +72,6 @@ ifeq ($(PLATFORM),dos) ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ CONFIG_FILE := dos-wat.mk - SEP := $(BACKSLASH) CC := wcc386 watcom: setup .PHONY: watcom @@ -82,7 +79,6 @@ ifeq ($(PLATFORM),dos) 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 @@ ifeq ($(PLATFORM),dos) 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 @@ ifeq ($(PLATFORM),dos) endif # test PLATFORM dos + # EOF diff --git a/builds/dos/dos-def.mk b/builds/dos/dos-def.mk index d2bcbd437..d6bc72e7b 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 @@ endif # 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 14a9d38dd..e14255c1f 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 000000000..0c39e4979 --- /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 9b5921cc9..6948ab82d 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 @@ multi: objects library # 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 @@ PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A # in the `freetype/builds/' 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 @@ OBJECTS_LIST := # 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 @@ include $(wildcard $(SRC)/*/rules.mk) # 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 @@ objects: $(OBJECTS_LIST) 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 @@ distclean_project_std: clean_project_std # 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 @@ distclean_project_dos: clean_project_dos # 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 @@ remove_config_mk: clean: clean_project distclean: distclean_project remove_config_mk + # EOF diff --git a/builds/link_dos.mk b/builds/link_dos.mk index bc36ed0ad..c37ac7e52 100644 --- a/builds/link_dos.mk +++ b/builds/link_dos.mk @@ -38,4 +38,5 @@ ifdef BUILD_PROJECT endif + # EOF diff --git a/builds/link_std.mk b/builds/link_std.mk index d59f2c3a3..0bd2163bb 100644 --- a/builds/link_std.mk +++ b/builds/link_std.mk @@ -38,4 +38,5 @@ ifdef BUILD_PROJECT endif + # EOF diff --git a/builds/modules.mk b/builds/modules.mk index 536ca5462..5102dc060 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 @@ endif 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 @@ endif # 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 @@ ECHO_DRIVER_DONE := )" # include $(wildcard $(TOP_DIR)/src/*/module.mk) + # EOF diff --git a/builds/os2/detect.mk b/builds/os2/detect.mk index d332be7f4..97e4bc972 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 @@ endif 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 @@ ifeq ($(PLATFORM),os2) ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ CONFIG_FILE := os2-wat.mk - SEP := $(BACKSLASH) CC := wcc386 watcom: setup .PHONY: watcom @@ -54,7 +52,6 @@ ifeq ($(PLATFORM),os2) 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 @@ ifeq ($(PLATFORM),os2) ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target CONFIG_FILE := os2-dev.mk CC := gcc - SEP := / devel: setup .PHONY: devel endif @@ -72,4 +68,5 @@ ifeq ($(PLATFORM),os2) endif # test PLATFORM os2 + # EOF diff --git a/builds/os2/os2-def.mk b/builds/os2/os2-def.mk index ef4b8115d..26bf6a913 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 @@ endif # make -f %TOP_DIR%/Makefile # ifndef OBJ_DIR - OBJ_DIR := $(TOP_DIR)$(SEP)objs + OBJ_DIR := $(TOP_DIR)/objs endif @@ -55,4 +50,5 @@ LIBRARY := $(PROJECT) # NO_OUTPUT = 2> nul + # EOF diff --git a/builds/os2/os2-dev.mk b/builds/os2/os2-dev.mk index 6527b79ee..96890fa0b 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 @@ ifndef TOP_DIR 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 5853862f0..446073e4f 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 $(TOP_DIR)/builds/compiler/gcc.mk # include linking instructions include $(TOP_DIR)/builds/link_dos.mk + # EOF diff --git a/builds/toplevel.mk b/builds/toplevel.mk index 2e9fbd082..08f50b42e 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 @@ ifdef check_platform # # 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 @@ else endif # test check_platform + # EOF diff --git a/builds/unix/configure b/builds/unix/configure index 088fa76c1..a9edab106 100644 --- a/builds/unix/configure +++ b/builds/unix/configure @@ -4126,9 +4126,9 @@ fi 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 e7ac82a01..78088b752 100644 --- a/builds/unix/configure.ac +++ b/builds/unix/configure.ac @@ -70,9 +70,9 @@ dnl checks for library functions 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 516f8ffd8..9fc9d601d 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 @@ ifeq ($(PLATFORM),ansi) # 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 @@ ifeq ($(PLATFORM),ansi) 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 @@ ifeq ($(PLATFORM),unix) endif # test PLATFORM unix + # EOF diff --git a/builds/unix/install.mk b/builds/unix/install.mk index eab00c0bd..935005edb 100644 --- a/builds/unix/install.mk +++ b/builds/unix/install.mk @@ -49,10 +49,11 @@ install: $(PROJECT_LIBRARY) $(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 90a83ba77..50df26784 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 @@ L := -l # 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 @@ LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \ -rpath $(libdir) -version-info $(version_info) \ $(LDFLAGS) + # EOF diff --git a/builds/unix/unix-def.in b/builds/unix/unix-def.in index 790bf8976..a9c1160c1 100644 --- a/builds/unix/unix-def.in +++ b/builds/unix/unix-def.in @@ -18,16 +18,15 @@ ifndef TOP_DIR 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 := @INSTALL@ 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 @@ DISTCLEAN += $(OBJ_BUILD)/config.cache \ $(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 @@ SYSTEM_ZLIB := @SYSTEM_ZLIB@ # NO_OUTPUT := 2> /dev/null + # EOF diff --git a/builds/unix/unix-dev.mk b/builds/unix/unix-dev.mk index 2f10734f1..12c641af2 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 4ade02c3a..6038e5239 100644 --- a/builds/unix/unix-lcc.mk +++ b/builds/unix/unix-lcc.mk @@ -20,4 +20,5 @@ include $(TOP_DIR)/builds/unix/unixddef.mk 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 1ea1543ac..803ce755a 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 @@ ifndef TOP_DIR 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 @@ LIBRARY := lib$(PROJECT) LIB_DIR := $(OBJ_DIR) -# NO_OUTPUT := 2> /dev/null + # EOF diff --git a/builds/win32/detect.mk b/builds/win32/detect.mk index c28d67f96..f24538fdb 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 @@ endif # test PLATFORM ansi 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 @@ ifeq ($(PLATFORM),win32) # ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++ CONFIG_FILE := w32-vcc.mk - SEP := $(BACKSLASH) CC := cl visualc: setup .PHONY: visualc @@ -88,7 +87,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++ CONFIG_FILE := w32-intl.mk - SEP := $(BACKSLASH) CC := cl visualc: setup .PHONY: intelc @@ -96,7 +94,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ CONFIG_FILE := w32-wat.mk - SEP := $(BACKSLASH) CC := wcc386 watcom: setup .PHONY: watcom @@ -104,7 +101,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++ CONFIG_FILE := w32-icc.mk - SEP := $(BACKSLASH) CC := icc visualage: setup .PHONY: visualage @@ -112,7 +108,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32 CONFIG_FILE := w32-lcc.mk - SEP := $(BACKSLASH) CC := lcc lcc: setup .PHONY: lcc @@ -120,7 +115,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring mingw32,$(MAKECMDGOALS)),) # mingw32 CONFIG_FILE := w32-mingw32.mk - SEP := $(BACKSLASH) CC := gcc mingw32: setup .PHONY: mingw32 @@ -128,7 +122,6 @@ ifeq ($(PLATFORM),win32) ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++ CONFIG_FILE := w32-bcc.mk - SEP := $(BACKSLASH) CC := bcc32 bcc32: setup .PHONY: bcc32 @@ -137,7 +130,6 @@ ifeq ($(PLATFORM),win32) 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 @@ ifeq ($(PLATFORM),win32) 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 5c2472479..522d6b378 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 80e44ffa8..29519995a 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 17aa0aa4b..0b665dee5 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 @@ ifndef TOP_DIR 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/compiler/gcc-dev.mk include $(TOP_DIR)/builds/link_dos.mk - # EOF diff --git a/builds/win32/w32-gcc.mk b/builds/win32/w32-gcc.mk index 86f6dddaa..91d11338d 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 $(TOP_DIR)/builds/compiler/gcc.mk # 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 8b63ce0ef..1e18202ce 100644 --- a/builds/win32/w32-icc.mk +++ b/builds/win32/w32-icc.mk @@ -19,4 +19,5 @@ include $(TOP_DIR)/builds/compiler/visualage.mk # 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 4f6a0342d..5c42ad3c4 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 236e81001..01f71b343 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 $(TOP_DIR)/builds/compiler/gcc.mk # 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 459e187d1..37bfec30b 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 ab250dc9b..accafc52f 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 9b43a039b..a9db459e8 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 @@ endif # make -f %TOP_DIR%/Makefile # ifndef OBJ_DIR - OBJ_DIR := $(TOP_DIR)$(SEP)objs + OBJ_DIR := $(TOP_DIR)/objs endif @@ -58,4 +51,5 @@ LIBRARY := $(PROJECT) # NO_OUTPUT = 2> nul + # EOF diff --git a/devel/ft2build.h b/devel/ft2build.h index 9df94c6c8..ff0e0031a 100644 --- a/devel/ft2build.h +++ b/devel/ft2build.h @@ -18,7 +18,7 @@ /* - * Rhis is a development version of that is used + * This is a development version of that is used * to build the library in debug mode. Its only difference with * the reference is that it forces the use of the local "ftoption.h" * which contains different settings for all configuration macros. diff --git a/devel/ftoption.h b/devel/ftoption.h index 6d366a04f..f92d92890 100644 --- a/devel/ftoption.h +++ b/devel/ftoption.h @@ -217,6 +217,19 @@ FT_BEGIN_HEADER #define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST + /*************************************************************************/ + /* */ + /* Support for Mac fonts */ + /* */ + /* Define this macro if you want support for outline fonts in Mac */ + /* format (mac dfont, mac resource, macbinary containing a mac */ + /* resource) on non-Mac platforms. */ + /* */ + /* Note that the `FOND' resource isn't checked. */ + /* */ +#define FT_CONFIG_OPTION_MAC_FONTS + + /*************************************************************************/ /* */ /* Allow the use of FT_Incremental_Interface to load typefaces that */ @@ -278,12 +291,12 @@ FT_BEGIN_HEADER /* should define FT_DEBUG_MEMORY here. */ /* */ /* Note that the memory debugger is only activated at runtime when */ - /* when the _environment_ variable "FT_DEBUG_MEMORY" is also defined! */ + /* when the _environment_ variable "FT2_DEBUG_MEMORY" is defined also! */ /* */ /* Do not #undef this macro here since the build system might define */ /* it for certain configurations only. */ /* */ -#define FT_DEBUG_MEMORY +/* #define FT_DEBUG_MEMORY */ /*************************************************************************/ @@ -386,7 +399,32 @@ FT_BEGIN_HEADER /* Do not #undef this macro here, since the build system might */ /* define it for certain configurations only. */ /* */ -#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER +#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING (in addition to */ + /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER) to compile the unpatented */ + /* work-around hinting system. You must define this if you want either */ + /* to force the use of the unpatented hinting system by also defining */ + /* TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING, or if you want to select */ + /* it at run time using the FT_PARAM_TAG_UNPATENTED_HINTING tag. */ + /* */ +#define TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to restrict the */ + /* TrueType bytecode interpreter to actions not protected by patents. */ + /* This enables some fonts, for example mingliu.ttc from Dynalab, to */ + /* work properly. They use hinting to make large changes to the glyph */ + /* shape, without which the glyph is unrecognisable. */ + /* For this to work you must also define */ + /* TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING. */ + /* */ +#undef TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING /*************************************************************************/ diff --git a/src/autohint/rules.mk b/src/autohint/rules.mk index b70fcb58f..ee264e862 100644 --- a/src/autohint/rules.mk +++ b/src/autohint/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2000, 2001, 2002 Catharon Productions Inc. +# Copyright 2000, 2001, 2002, 2003 Catharon Productions Inc. # Author: David Turner # # This file is part of the Catharon Typography Project and shall only @@ -18,29 +18,28 @@ # AUTO driver directory # -AUTO_DIR := $(SRC_)autohint -AUTO_DIR_ := $(AUTO_DIR)$(SEP) +AUTO_DIR := $(SRC_DIR)/autohint # compilation flags for the driver # -AUTO_COMPILE := $(FT_COMPILE) $I$(AUTO_DIR) +AUTO_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(AUTO_DIR)) # AUTO driver sources (i.e., C files) # -AUTO_DRV_SRC := $(AUTO_DIR_)ahangles.c \ - $(AUTO_DIR_)ahglobal.c \ - $(AUTO_DIR_)ahglyph.c \ - $(AUTO_DIR_)ahhint.c \ - $(AUTO_DIR_)ahmodule.c +AUTO_DRV_SRC := $(AUTO_DIR)/ahangles.c \ + $(AUTO_DIR)/ahglobal.c \ + $(AUTO_DIR)/ahglyph.c \ + $(AUTO_DIR)/ahhint.c \ + $(AUTO_DIR)/ahmodule.c # AUTO driver headers # AUTO_DRV_H := $(AUTO_DRV_SRC:%c=%h) \ - $(AUTO_DIR_)ahloader.h \ - $(AUTO_DIR_)ahtypes.h \ - $(AUTO_DIR_)aherrors.h + $(AUTO_DIR)/ahloader.h \ + $(AUTO_DIR)/ahtypes.h \ + $(AUTO_DIR)/aherrors.h # AUTO driver object(s) @@ -48,25 +47,25 @@ AUTO_DRV_H := $(AUTO_DRV_SRC:%c=%h) \ # AUTO_DRV_OBJ_M is used during `multi' builds. # AUTO_DRV_OBJ_S is used during `single' builds. # -AUTO_DRV_OBJ_M := $(AUTO_DRV_SRC:$(AUTO_DIR_)%.c=$(OBJ_)%.$O) -AUTO_DRV_OBJ_S := $(OBJ_)autohint.$O +AUTO_DRV_OBJ_M := $(AUTO_DRV_SRC:$(AUTO_DIR)/%.c=$(OBJ_DIR)/%.$O) +AUTO_DRV_OBJ_S := $(OBJ_DIR)/autohint.$O # AUTO driver source file for single build # -AUTO_DRV_SRC_S := $(AUTO_DIR_)autohint.c +AUTO_DRV_SRC_S := $(AUTO_DIR)/autohint.c # AUTO driver - single object # $(AUTO_DRV_OBJ_S): $(AUTO_DRV_SRC_S) $(AUTO_DRV_SRC) \ $(FREETYPE_H) $(AUTO_DRV_H) - $(AUTO_COMPILE) $T$@ $(AUTO_DRV_SRC_S) + $(AUTO_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(AUTO_DRV_SRC_S)) # AUTO driver - multiple objects # -$(OBJ_)%.$O: $(AUTO_DIR_)%.c $(FREETYPE_H) $(AUTO_DRV_H) - $(AUTO_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(AUTO_DIR)/%.c $(FREETYPE_H) $(AUTO_DRV_H) + $(AUTO_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/base/rules.mk b/src/base/rules.mk index e5dcc7be0..725631b1d 100644 --- a/src/base/rules.mk +++ b/src/base/rules.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, @@ -25,23 +25,23 @@ # BASE_H is defined in freetype.mk to simplify the dependency rules. -BASE_COMPILE := $(FT_COMPILE) $I$(SRC_)base +BASE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SRC_DIR)/base) # Base layer sources # # ftsystem, ftinit, and ftdebug are handled by freetype.mk # -BASE_SRC := $(BASE_)ftcalc.c \ - $(BASE_)fttrigon.c \ - $(BASE_)ftutil.c \ - $(BASE_)ftstream.c \ - $(BASE_)ftgloadr.c \ - $(BASE_)ftoutln.c \ - $(BASE_)ftobjs.c \ - $(BASE_)ftapi.c \ - $(BASE_)ftnames.c \ - $(BASE_)ftdbgmem.c +BASE_SRC := $(BASE_DIR)/ftcalc.c \ + $(BASE_DIR)/fttrigon.c \ + $(BASE_DIR)/ftutil.c \ + $(BASE_DIR)/ftstream.c \ + $(BASE_DIR)/ftgloadr.c \ + $(BASE_DIR)/ftoutln.c \ + $(BASE_DIR)/ftobjs.c \ + $(BASE_DIR)/ftapi.c \ + $(BASE_DIR)/ftnames.c \ + $(BASE_DIR)/ftdbgmem.c # Base layer `extensions' sources # @@ -49,19 +49,19 @@ BASE_SRC := $(BASE_)ftcalc.c \ # object. It will then be linked to the final executable only if one of its # symbols is used by the application. # -BASE_EXT_SRC := $(BASE_)ftglyph.c \ - $(BASE_)ftmm.c \ - $(BASE_)ftbdf.c \ - $(BASE_)fttype1.c \ - $(BASE_)ftxf86.c \ - $(BASE_)ftpfr.c \ - $(BASE_)ftstroke.c \ - $(BASE_)ftwinfnt.c \ - $(BASE_)ftbbox.c +BASE_EXT_SRC := $(BASE_DIR)/ftglyph.c \ + $(BASE_DIR)/ftmm.c \ + $(BASE_DIR)/ftbdf.c \ + $(BASE_DIR)/fttype1.c \ + $(BASE_DIR)/ftxf86.c \ + $(BASE_DIR)/ftpfr.c \ + $(BASE_DIR)/ftstroke.c \ + $(BASE_DIR)/ftwinfnt.c \ + $(BASE_DIR)/ftbbox.c # Default extensions objects # -BASE_EXT_OBJ := $(BASE_EXT_SRC:$(BASE_)%.c=$(OBJ_)%.$O) +BASE_EXT_OBJ := $(BASE_EXT_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O) # Base layer object(s) @@ -72,23 +72,24 @@ BASE_EXT_OBJ := $(BASE_EXT_SRC:$(BASE_)%.c=$(OBJ_)%.$O) # BASE_OBJ_S is used during `single' builds (the whole base layer is # compiled as a single object file using ftbase.c). # -BASE_OBJ_M := $(BASE_SRC:$(BASE_)%.c=$(OBJ_)%.$O) -BASE_OBJ_S := $(OBJ_)ftbase.$O +BASE_OBJ_M := $(BASE_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O) +BASE_OBJ_S := $(OBJ_DIR)/ftbase.$O # Base layer root source file for single build # -BASE_SRC_S := $(BASE_)ftbase.c +BASE_SRC_S := $(BASE_DIR)/ftbase.c # Base layer - single object build # $(BASE_OBJ_S): $(BASE_SRC_S) $(BASE_SRC) $(FREETYPE_H) - $(BASE_COMPILE) $T$@ $(BASE_SRC_S) + $(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BASE_SRC_S)) # Multiple objects build + extensions # -$(OBJ_)%.$O: $(BASE_)%.c $(FREETYPE_H) - $(BASE_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(BASE_DIR)/%.c $(FREETYPE_H) + $(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) + # EOF diff --git a/src/bdf/rules.mk b/src/bdf/rules.mk index b1a3ed9f8..25d98e55b 100644 --- a/src/bdf/rules.mk +++ b/src/bdf/rules.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 2001, 2002 by +# Copyright (C) 2001, 2002, 2003 by # Francesco Zappa Nardelli # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -29,46 +29,46 @@ # bdf driver directory # -BDF_DIR := $(SRC_)bdf -BDF_DIR_ := $(BDF_DIR)$(SEP) +BDF_DIR := $(SRC_DIR)/bdf -BDF_COMPILE := $(FT_COMPILE) $I$(BDF_DIR) +BDF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(BDF_DIR)) # bdf driver sources (i.e., C files) # -BDF_DRV_SRC := $(BDF_DIR_)bdflib.c $(BDF_DIR_)bdfdrivr.c +BDF_DRV_SRC := $(BDF_DIR)/bdflib.c \ + $(BDF_DIR)/bdfdrivr.c # bdf driver headers # -BDF_DRV_H := $(BDF_DIR_)bdf.h \ - $(BDF_DIR_)bdfdrivr.h +BDF_DRV_H := $(BDF_DIR)/bdf.h \ + $(BDF_DIR)/bdfdrivr.h # bdf driver object(s) # # BDF_DRV_OBJ_M is used during `multi' builds # BDF_DRV_OBJ_S is used during `single' builds # -BDF_DRV_OBJ_M := $(BDF_DRV_SRC:$(BDF_DIR_)%.c=$(OBJ_)%.$O) -BDF_DRV_OBJ_S := $(OBJ_)bdf.$O +BDF_DRV_OBJ_M := $(BDF_DRV_SRC:$(BDF_DIR)/%.c=$(OBJ_DIR)/%.$O) +BDF_DRV_OBJ_S := $(OBJ_DIR)/bdf.$O # bdf driver source file for single build # -BDF_DRV_SRC_S := $(BDF_DIR_)bdf.c +BDF_DRV_SRC_S := $(BDF_DIR)/bdf.c # bdf driver - single object # $(BDF_DRV_OBJ_S): $(BDF_DRV_SRC_S) $(BDF_DRV_SRC) $(FREETYPE_H) $(BDF_DRV_H) - $(BDF_COMPILE) $T$@ $(BDF_DRV_SRC_S) + $(BDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BDF_DRV_SRC_S)) # bdf driver - multiple objects # -$(OBJ_)%.$O: $(BDF_DIR_)%.c $(FREETYPE_H) $(BDF_DRV_H) - $(BDF_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(BDF_DIR)/%.c $(FREETYPE_H) $(BDF_DRV_H) + $(BDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -76,4 +76,5 @@ $(OBJ_)%.$O: $(BDF_DIR_)%.c $(FREETYPE_H) $(BDF_DRV_H) DRV_OBJS_S += $(BDF_DRV_OBJ_S) DRV_OBJS_M += $(BDF_DRV_OBJ_M) + # EOF diff --git a/src/cache/rules.mk b/src/cache/rules.mk index a74e7800a..617ca48da 100644 --- a/src/cache/rules.mk +++ b/src/cache/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2000, 2001 by +# Copyright 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, @@ -15,66 +15,63 @@ # Cache driver directory # -CACHE_DIR := $(SRC_)cache -CACHE_DIR_ := $(CACHE_DIR)$(SEP) - -CACHE_H_DIR := $(PUBLIC_)cache -CACHE_H_DIR_ := $(CACHE_H_DIR)$(SEP) +CACHE_DIR := $(SRC_DIR)/cache +CACHE_H_DIR := $(PUBLIC_DIR)/cache # compilation flags for the driver # -Cache_COMPILE := $(FT_COMPILE) $I$(CACHE_DIR) +CACHE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(CACHE_DIR)) # Cache driver sources (i.e., C files) # -Cache_DRV_SRC := $(CACHE_DIR_)ftlru.c \ - $(CACHE_DIR_)ftcmanag.c \ - $(CACHE_DIR_)ftccache.c \ - $(CACHE_DIR_)ftcglyph.c \ - $(CACHE_DIR_)ftcsbits.c \ - $(CACHE_DIR_)ftcimage.c \ - $(CACHE_DIR_)ftccmap.c +CACHE_DRV_SRC := $(CACHE_DIR)/ftlru.c \ + $(CACHE_DIR)/ftcmanag.c \ + $(CACHE_DIR)/ftccache.c \ + $(CACHE_DIR)/ftcglyph.c \ + $(CACHE_DIR)/ftcsbits.c \ + $(CACHE_DIR)/ftcimage.c \ + $(CACHE_DIR)/ftccmap.c # Cache driver headers # -Cache_DRV_H := $(CACHE_H_DIR_)ftlru.h \ - $(CACHE_H_DIR_)ftcmanag.h \ - $(CACHE_H_DIR_)ftcglyph.h \ - $(CACHE_H_DIR_)ftcimage.h \ - $(CACHE_DIR_)ftcerror.h +CACHE_DRV_H := $(CACHE_H_DIR)/ftlru.h \ + $(CACHE_H_DIR)/ftcmanag.h \ + $(CACHE_H_DIR)/ftcglyph.h \ + $(CACHE_H_DIR)/ftcimage.h \ + $(CACHE_DIR)/ftcerror.h # Cache driver object(s) # -# Cache_DRV_OBJ_M is used during `multi' builds. -# Cache_DRV_OBJ_S is used during `single' builds. +# CACHE_DRV_OBJ_M is used during `multi' builds. +# CACHE_DRV_OBJ_S is used during `single' builds. # -Cache_DRV_OBJ_M := $(Cache_DRV_SRC:$(CACHE_DIR_)%.c=$(OBJ_)%.$O) -Cache_DRV_OBJ_S := $(OBJ_)ftcache.$O +CACHE_DRV_OBJ_M := $(CACHE_DRV_SRC:$(CACHE_DIR)/%.c=$(OBJ_DIR)/%.$O) +CACHE_DRV_OBJ_S := $(OBJ_DIR)/ftcache.$O # Cache driver source file for single build # -Cache_DRV_SRC_S := $(CACHE_DIR_)ftcache.c +CACHE_DRV_SRC_S := $(CACHE_DIR)/ftcache.c # Cache driver - single object # -$(Cache_DRV_OBJ_S): $(Cache_DRV_SRC_S) $(Cache_DRV_SRC) \ - $(FREETYPE_H) $(Cache_DRV_H) - $(Cache_COMPILE) $T$@ $(Cache_DRV_SRC_S) +$(CACHE_DRV_OBJ_S): $(CACHE_DRV_SRC_S) $(CACHE_DRV_SRC) \ + $(FREETYPE_H) $(CACHE_DRV_H) + $(CACHE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(CACHE_DRV_SRC_S)) # Cache driver - multiple objects # -$(OBJ_)%.$O: $(CACHE_DIR_)%.c $(FREETYPE_H) $(Cache_DRV_H) - $(Cache_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(CACHE_DIR)/%.c $(FREETYPE_H) $(CACHE_DRV_H) + $(CACHE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists # -DRV_OBJS_S += $(Cache_DRV_OBJ_S) -DRV_OBJS_M += $(Cache_DRV_OBJ_M) +DRV_OBJS_S += $(CACHE_DRV_OBJ_S) +DRV_OBJS_M += $(CACHE_DRV_OBJ_M) # EOF diff --git a/src/cff/rules.mk b/src/cff/rules.mk index b53fdd83a..579f144e0 100644 --- a/src/cff/rules.mk +++ b/src/cff/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,27 +15,26 @@ # OpenType driver directory # -CFF_DIR := $(SRC_)cff -CFF_DIR_ := $(CFF_DIR)$(SEP) +CFF_DIR := $(SRC_DIR)/cff -CFF_COMPILE := $(FT_COMPILE) $I$(CFF_DIR) +CFF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(CFF_DIR)) # CFF driver sources (i.e., C files) # -CFF_DRV_SRC := $(CFF_DIR_)cffobjs.c \ - $(CFF_DIR_)cffload.c \ - $(CFF_DIR_)cffgload.c \ - $(CFF_DIR_)cffparse.c \ - $(CFF_DIR_)cffcmap.c \ - $(CFF_DIR_)cffdrivr.c +CFF_DRV_SRC := $(CFF_DIR)/cffobjs.c \ + $(CFF_DIR)/cffload.c \ + $(CFF_DIR)/cffgload.c \ + $(CFF_DIR)/cffparse.c \ + $(CFF_DIR)/cffcmap.c \ + $(CFF_DIR)/cffdrivr.c # CFF driver headers # CFF_DRV_H := $(CFF_DRV_SRC:%.c=%.h) \ - $(CFF_DIR_)cfftoken.h \ - $(CFF_DIR_)cfferrs.h + $(CFF_DIR)/cfftoken.h \ + $(CFF_DIR)/cfferrs.h # CFF driver object(s) @@ -43,24 +42,24 @@ CFF_DRV_H := $(CFF_DRV_SRC:%.c=%.h) \ # CFF_DRV_OBJ_M is used during `multi' builds # CFF_DRV_OBJ_S is used during `single' builds # -CFF_DRV_OBJ_M := $(CFF_DRV_SRC:$(CFF_DIR_)%.c=$(OBJ_)%.$O) -CFF_DRV_OBJ_S := $(OBJ_)cff.$O +CFF_DRV_OBJ_M := $(CFF_DRV_SRC:$(CFF_DIR)/%.c=$(OBJ_DIR)/%.$O) +CFF_DRV_OBJ_S := $(OBJ_DIR)/cff.$O # CFF driver source file for single build # -CFF_DRV_SRC_S := $(CFF_DIR_)cff.c +CFF_DRV_SRC_S := $(CFF_DIR)/cff.c # CFF driver - single object # $(CFF_DRV_OBJ_S): $(CFF_DRV_SRC_S) $(CFF_DRV_SRC) $(FREETYPE_H) $(CFF_DRV_H) - $(CFF_COMPILE) $T$@ $(CFF_DRV_SRC_S) + $(CFF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(CFF_DRV_SRC_S)) # CFF driver - multiple objects # -$(OBJ_)%.$O: $(CFF_DIR_)%.c $(FREETYPE_H) $(CFF_DRV_H) - $(CFF_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(CFF_DIR)/%.c $(FREETYPE_H) $(CFF_DRV_H) + $(CFF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -68,4 +67,5 @@ $(OBJ_)%.$O: $(CFF_DIR_)%.c $(FREETYPE_H) $(CFF_DRV_H) DRV_OBJS_S += $(CFF_DRV_OBJ_S) DRV_OBJS_M += $(CFF_DRV_OBJ_M) + # EOF diff --git a/src/cid/rules.mk b/src/cid/rules.mk index 809b20aeb..f36274461 100644 --- a/src/cid/rules.mk +++ b/src/cid/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,26 +15,25 @@ # CID driver directory # -CID_DIR := $(SRC_)cid -CID_DIR_ := $(CID_DIR)$(SEP) +CID_DIR := $(SRC_DIR)/cid -CID_COMPILE := $(FT_COMPILE) $I$(CID_DIR) +CID_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(CID_DIR)) # CID driver sources (i.e., C files) # -CID_DRV_SRC := $(CID_DIR_)cidparse.c \ - $(CID_DIR_)cidload.c \ - $(CID_DIR_)cidriver.c \ - $(CID_DIR_)cidgload.c \ - $(CID_DIR_)cidobjs.c +CID_DRV_SRC := $(CID_DIR)/cidparse.c \ + $(CID_DIR)/cidload.c \ + $(CID_DIR)/cidriver.c \ + $(CID_DIR)/cidgload.c \ + $(CID_DIR)/cidobjs.c # CID driver headers # CID_DRV_H := $(CID_DRV_SRC:%.c=%.h) \ - $(CID_DIR_)cidtoken.h \ - $(CID_DIR_)ciderrs.h + $(CID_DIR)/cidtoken.h \ + $(CID_DIR)/ciderrs.h # CID driver object(s) @@ -42,24 +41,24 @@ CID_DRV_H := $(CID_DRV_SRC:%.c=%.h) \ # CID_DRV_OBJ_M is used during `multi' builds # CID_DRV_OBJ_S is used during `single' builds # -CID_DRV_OBJ_M := $(CID_DRV_SRC:$(CID_DIR_)%.c=$(OBJ_)%.$O) -CID_DRV_OBJ_S := $(OBJ_)type1cid.$O +CID_DRV_OBJ_M := $(CID_DRV_SRC:$(CID_DIR)/%.c=$(OBJ_DIR)/%.$O) +CID_DRV_OBJ_S := $(OBJ_DIR)/type1cid.$O # CID driver source file for single build # -CID_DRV_SRC_S := $(CID_DIR_)type1cid.c +CID_DRV_SRC_S := $(CID_DIR)/type1cid.c # CID driver - single object # $(CID_DRV_OBJ_S): $(CID_DRV_SRC_S) $(CID_DRV_SRC) $(FREETYPE_H) $(CID_DRV_H) - $(CID_COMPILE) $T$@ $(CID_DRV_SRC_S) + $(CID_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(CID_DRV_SRC_S)) # CID driver - multiple objects # -$(OBJ_)%.$O: $(CID_DIR_)%.c $(FREETYPE_H) $(CID_DRV_H) - $(CID_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(CID_DIR)/%.c $(FREETYPE_H) $(CID_DRV_H) + $(CID_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -67,4 +66,5 @@ $(OBJ_)%.$O: $(CID_DIR_)%.c $(FREETYPE_H) $(CID_DRV_H) DRV_OBJS_S += $(CID_DRV_OBJ_S) DRV_OBJS_M += $(CID_DRV_OBJ_M) + # EOF diff --git a/src/gzip/rules.mk b/src/gzip/rules.mk index 1332fb206..d2a43a6a8 100644 --- a/src/gzip/rules.mk +++ b/src/gzip/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2002 by +# Copyright 2002, 2003 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,14 +15,13 @@ # gzip driver directory # -GZIP_DIR := $(SRC_)gzip -GZIP_DIR_ := $(GZIP_DIR)$(SEP) +GZIP_DIR := $(SRC_DIR)/gzip # compilation flags for the driver # ifeq ($(SYSTEM_ZLIB),) - GZIP_COMPILE := $(FT_COMPILE) $I$(GZIP_DIR) + GZIP_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(GZIP_DIR)) else GZIP_COMPILE := $(FT_COMPILE) endif @@ -30,7 +29,7 @@ endif # gzip support sources (i.e., C files) # -GZIP_DRV_SRC := $(GZIP_DIR_)ftgzip.c +GZIP_DRV_SRC := $(GZIP_DIR)/ftgzip.c # gzip support headers # @@ -43,27 +42,28 @@ GZIP_DRV_H := # GZIP_DRV_OBJ_S is used during `single' builds # ifeq ($(SYSTEM_ZLIB),) - GZIP_DRV_OBJ_M := $(GZIP_DRV_SRC:$(GZIP_DIR_)%.c=$(OBJ_)%.$O) + GZIP_DRV_OBJ_M := $(GZIP_DRV_SRC:$(GZIP_DIR)/%.c=$(OBJ_DIR)/%.$O) else - GZIP_DRV_OBJ_M := $(OBJ_)ftgzip.$O + GZIP_DRV_OBJ_M := $(OBJ_DIR)/ftgzip.$O endif -GZIP_DRV_OBJ_S := $(OBJ_)ftgzip.$O +GZIP_DRV_OBJ_S := $(OBJ_DIR)/ftgzip.$O # gzip support source file for single build # -GZIP_DRV_SRC_S := $(GZIP_DIR_)ftgzip.c +GZIP_DRV_SRC_S := $(GZIP_DIR)/ftgzip.c # gzip support - single object # -$(GZIP_DRV_OBJ_S): $(GZIP_DRV_SRC_S) $(GZIP_DRV_SRC) $(FREETYPE_H) $(GZIP_DRV_H) - $(GZIP_COMPILE) $T$@ $(GZIP_DRV_SRC_S) +$(GZIP_DRV_OBJ_S): $(GZIP_DRV_SRC_S) $(GZIP_DRV_SRC) $(FREETYPE_H) \ + $(GZIP_DRV_H) + $(GZIP_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(GZIP_DRV_SRC_S)) # gzip support - multiple objects # -$(OBJ_)%.$O: $(GZIP_DIR_)%.c $(FREETYPE_H) $(GZIP_DRV_H) - $(GZIP_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(GZIP_DIR)/%.c $(FREETYPE_H) $(GZIP_DRV_H) + $(GZIP_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -71,4 +71,5 @@ $(OBJ_)%.$O: $(GZIP_DIR_)%.c $(FREETYPE_H) $(GZIP_DRV_H) DRV_OBJS_S += $(GZIP_DRV_OBJ_S) DRV_OBJS_M += $(GZIP_DRV_OBJ_M) + # EOF diff --git a/src/pcf/rules.mk b/src/pcf/rules.mk index b63d8643e..1ad4ba897 100644 --- a/src/pcf/rules.mk +++ b/src/pcf/rules.mk @@ -27,49 +27,48 @@ # pcf driver directory # -PCF_DIR := $(SRC_)pcf -PCF_DIR_ := $(PCF_DIR)$(SEP) +PCF_DIR := $(SRC_DIR)/pcf -PCF_COMPILE := $(FT_COMPILE) $I$(PCF_DIR) +PCF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PCF_DIR)) # pcf driver sources (i.e., C files) # -PCF_DRV_SRC := $(PCF_DIR_)pcfread.c \ - $(PCF_DIR_)pcfdrivr.c \ - $(PCF_DIR_)pcfutil.c +PCF_DRV_SRC := $(PCF_DIR)/pcfread.c \ + $(PCF_DIR)/pcfdrivr.c \ + $(PCF_DIR)/pcfutil.c # pcf driver headers # -PCF_DRV_H := $(PCF_DIR_)pcf.h \ - $(PCF_DIR_)pcfdrivr.h \ - $(PCF_DIR_)pcfutil.h \ - $(PCF_DIR_)pcferror.h +PCF_DRV_H := $(PCF_DIR)/pcf.h \ + $(PCF_DIR)/pcfdrivr.h \ + $(PCF_DIR)/pcfutil.h \ + $(PCF_DIR)/pcferror.h # pcf driver object(s) # # PCF_DRV_OBJ_M is used during `multi' builds # PCF_DRV_OBJ_S is used during `single' builds # -PCF_DRV_OBJ_M := $(PCF_DRV_SRC:$(PCF_DIR_)%.c=$(OBJ_)%.$O) -PCF_DRV_OBJ_S := $(OBJ_)pcf.$O +PCF_DRV_OBJ_M := $(PCF_DRV_SRC:$(PCF_DIR)/%.c=$(OBJ_DIR)/%.$O) +PCF_DRV_OBJ_S := $(OBJ_DIR)/pcf.$O -# Windows driver source file for single build +# pcf driver source file for single build # -PCF_DRV_SRC_S := $(PCF_DIR_)pcf.c +PCF_DRV_SRC_S := $(PCF_DIR)/pcf.c # pcf driver - single object # $(PCF_DRV_OBJ_S): $(PCF_DRV_SRC_S) $(PCF_DRV_SRC) $(FREETYPE_H) $(PCF_DRV_H) - $(PCF_COMPILE) $T$@ $(PCF_DRV_SRC_S) + $(PCF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PCF_DRV_SRC_S)) # pcf driver - multiple objects # -$(OBJ_)%.$O: $(PCF_DIR_)%.c $(FREETYPE_H) $(PCF_DRV_H) - $(PCF_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(PCF_DIR)/%.c $(FREETYPE_H) $(PCF_DRV_H) + $(PCF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -77,4 +76,5 @@ $(OBJ_)%.$O: $(PCF_DIR_)%.c $(FREETYPE_H) $(PCF_DRV_H) DRV_OBJS_S += $(PCF_DRV_OBJ_S) DRV_OBJS_M += $(PCF_DRV_OBJ_M) + # EOF diff --git a/src/pfr/rules.mk b/src/pfr/rules.mk index fe2f6eb99..d9731862f 100644 --- a/src/pfr/rules.mk +++ b/src/pfr/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2002 by +# Copyright 2002, 2003 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,27 +15,26 @@ # pfr driver directory # -PFR_DIR := $(SRC_)pfr -PFR_DIR_ := $(PFR_DIR)$(SEP) +PFR_DIR := $(SRC_DIR)/pfr # compilation flags for the driver # -PFR_COMPILE := $(FT_COMPILE) $I$(PFR_DIR) +PFR_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PFR_DIR)) # pfr driver sources (i.e., C files) # -PFR_DRV_SRC := $(PFR_DIR_)pfrload.c \ - $(PFR_DIR_)pfrgload.c \ - $(PFR_DIR_)pfrcmap.c \ - $(PFR_DIR_)pfrdrivr.c \ - $(PFR_DIR_)pfrobjs.c +PFR_DRV_SRC := $(PFR_DIR)/pfrload.c \ + $(PFR_DIR)/pfrgload.c \ + $(PFR_DIR)/pfrcmap.c \ + $(PFR_DIR)/pfrdrivr.c \ + $(PFR_DIR)/pfrobjs.c # pfr driver headers # PFR_DRV_H := $(PFR_DRV_SRC:%.c=%.h) \ - $(PFR_DIR_)pfrerror.h + $(PFR_DIR)/pfrerror.h # Pfr driver object(s) @@ -43,24 +42,24 @@ PFR_DRV_H := $(PFR_DRV_SRC:%.c=%.h) \ # PFR_DRV_OBJ_M is used during `multi' builds # PFR_DRV_OBJ_S is used during `single' builds # -PFR_DRV_OBJ_M := $(PFR_DRV_SRC:$(PFR_DIR_)%.c=$(OBJ_)%.$O) -PFR_DRV_OBJ_S := $(OBJ_)pfr.$O +PFR_DRV_OBJ_M := $(PFR_DRV_SRC:$(PFR_DIR)/%.c=$(OBJ_DIR)/%.$O) +PFR_DRV_OBJ_S := $(OBJ_DIR)/pfr.$O # pfr driver source file for single build # -PFR_DRV_SRC_S := $(PFR_DIR_)pfr.c +PFR_DRV_SRC_S := $(PFR_DIR)/pfr.c # pfr driver - single object # $(PFR_DRV_OBJ_S): $(PFR_DRV_SRC_S) $(PFR_DRV_SRC) $(FREETYPE_H) $(PFR_DRV_H) - $(PFR_COMPILE) $T$@ $(PFR_DRV_SRC_S) + $(PFR_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PFR_DRV_SRC_S)) # pfr driver - multiple objects # -$(OBJ_)%.$O: $(PFR_DIR_)%.c $(FREETYPE_H) $(PFR_DRV_H) - $(PFR_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(PFR_DIR)/%.c $(FREETYPE_H) $(PFR_DRV_H) + $(PFR_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -68,4 +67,5 @@ $(OBJ_)%.$O: $(PFR_DIR_)%.c $(FREETYPE_H) $(PFR_DRV_H) DRV_OBJS_S += $(PFR_DRV_OBJ_S) DRV_OBJS_M += $(PFR_DRV_OBJ_M) + # EOF diff --git a/src/psaux/rules.mk b/src/psaux/rules.mk index 04730852f..7338d3657 100644 --- a/src/psaux/rules.mk +++ b/src/psaux/rules.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, @@ -15,26 +15,25 @@ # PSAUX driver directory # -PSAUX_DIR := $(SRC_)psaux -PSAUX_DIR_ := $(PSAUX_DIR)$(SEP) +PSAUX_DIR := $(SRC_DIR)/psaux # compilation flags for the driver # -PSAUX_COMPILE := $(FT_COMPILE) $I$(PSAUX_DIR) +PSAUX_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PSAUX_DIR)) # PSAUX driver sources (i.e., C files) # -PSAUX_DRV_SRC := $(PSAUX_DIR_)psobjs.c \ - $(PSAUX_DIR_)t1decode.c \ - $(PSAUX_DIR_)t1cmap.c \ - $(PSAUX_DIR_)psauxmod.c +PSAUX_DRV_SRC := $(PSAUX_DIR)/psobjs.c \ + $(PSAUX_DIR)/t1decode.c \ + $(PSAUX_DIR)/t1cmap.c \ + $(PSAUX_DIR)/psauxmod.c # PSAUX driver headers # PSAUX_DRV_H := $(PSAUX_DRV_SRC:%c=%h) \ - $(PSAUX_DIR_)psauxerr.h + $(PSAUX_DIR)/psauxerr.h # PSAUX driver object(s) @@ -42,25 +41,25 @@ PSAUX_DRV_H := $(PSAUX_DRV_SRC:%c=%h) \ # PSAUX_DRV_OBJ_M is used during `multi' builds. # PSAUX_DRV_OBJ_S is used during `single' builds. # -PSAUX_DRV_OBJ_M := $(PSAUX_DRV_SRC:$(PSAUX_DIR_)%.c=$(OBJ_)%.$O) -PSAUX_DRV_OBJ_S := $(OBJ_)psaux.$O +PSAUX_DRV_OBJ_M := $(PSAUX_DRV_SRC:$(PSAUX_DIR)/%.c=$(OBJ_DIR)/%.$O) +PSAUX_DRV_OBJ_S := $(OBJ_DIR)/psaux.$O # PSAUX driver source file for single build # -PSAUX_DRV_SRC_S := $(PSAUX_DIR_)psaux.c +PSAUX_DRV_SRC_S := $(PSAUX_DIR)/psaux.c # PSAUX driver - single object # $(PSAUX_DRV_OBJ_S): $(PSAUX_DRV_SRC_S) $(PSAUX_DRV_SRC) \ $(FREETYPE_H) $(PSAUX_DRV_H) - $(PSAUX_COMPILE) $T$@ $(PSAUX_DRV_SRC_S) + $(PSAUX_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PSAUX_DRV_SRC_S)) # PSAUX driver - multiple objects # -$(OBJ_)%.$O: $(PSAUX_DIR_)%.c $(FREETYPE_H) $(PSAUX_DRV_H) - $(PSAUX_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(PSAUX_DIR)/%.c $(FREETYPE_H) $(PSAUX_DRV_H) + $(PSAUX_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/pshinter/rules.mk b/src/pshinter/rules.mk index 5f462448b..be3257db4 100644 --- a/src/pshinter/rules.mk +++ b/src/pshinter/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2001 by +# Copyright 2001, 2003 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,21 +15,20 @@ # PSHINTER driver directory # -PSHINTER_DIR := $(SRC_)pshinter -PSHINTER_DIR_ := $(PSHINTER_DIR)$(SEP) +PSHINTER_DIR := $(SRC_DIR)/pshinter # compilation flags for the driver # -PSHINTER_COMPILE := $(FT_COMPILE) $I$(PSHINTER_DIR) +PSHINTER_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PSHINTER_DIR)) # PSHINTER driver sources (i.e., C files) # -PSHINTER_DRV_SRC := $(PSHINTER_DIR_)pshrec.c \ - $(PSHINTER_DIR_)pshglob.c \ - $(PSHINTER_DIR_)pshmod.c \ - $(PSHINTER_DIR_)pshalgo.c +PSHINTER_DRV_SRC := $(PSHINTER_DIR)/pshrec.c \ + $(PSHINTER_DIR)/pshglob.c \ + $(PSHINTER_DIR)/pshmod.c \ + $(PSHINTER_DIR)/pshalgo.c # PSHINTER driver headers @@ -42,25 +41,25 @@ PSHINTER_DRV_H := $(PSHINTER_DRV_SRC:%c=%h) # PSHINTER_DRV_OBJ_M is used during `multi' builds. # PSHINTER_DRV_OBJ_S is used during `single' builds. # -PSHINTER_DRV_OBJ_M := $(PSHINTER_DRV_SRC:$(PSHINTER_DIR_)%.c=$(OBJ_)%.$O) -PSHINTER_DRV_OBJ_S := $(OBJ_)pshinter.$O +PSHINTER_DRV_OBJ_M := $(PSHINTER_DRV_SRC:$(PSHINTER_DIR)/%.c=$(OBJ_DIR)/%.$O) +PSHINTER_DRV_OBJ_S := $(OBJ_DIR)/pshinter.$O # PSHINTER driver source file for single build # -PSHINTER_DRV_SRC_S := $(PSHINTER_DIR_)pshinter.c +PSHINTER_DRV_SRC_S := $(PSHINTER_DIR)/pshinter.c # PSHINTER driver - single object # $(PSHINTER_DRV_OBJ_S): $(PSHINTER_DRV_SRC_S) $(PSHINTER_DRV_SRC) \ $(FREETYPE_H) $(PSHINTER_DRV_H) - $(PSHINTER_COMPILE) $T$@ $(PSHINTER_DRV_SRC_S) + $(PSHINTER_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PSHINTER_DRV_SRC_S)) # PSHINTER driver - multiple objects # -$(OBJ_)%.$O: $(PSHINTER_DIR_)%.c $(FREETYPE_H) $(PSHINTER_DRV_H) - $(PSHINTER_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(PSHINTER_DIR)/%.c $(FREETYPE_H) $(PSHINTER_DRV_H) + $(PSHINTER_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/psnames/rules.mk b/src/psnames/rules.mk index 4a4b82e82..06bd161e3 100644 --- a/src/psnames/rules.mk +++ b/src/psnames/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,25 +15,24 @@ # PSNames driver directory # -PSNAMES_DIR := $(SRC_)psnames -PSNAMES_DIR_ := $(PSNAMES_DIR)$(SEP) +PSNAMES_DIR := $(SRC_DIR)/psnames # compilation flags for the driver # -PSNAMES_COMPILE := $(FT_COMPILE) $I$(PSNAMES_DIR) +PSNAMES_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PSNAMES_DIR)) # PSNames driver sources (i.e., C files) # -PSNAMES_DRV_SRC := $(PSNAMES_DIR_)psmodule.c +PSNAMES_DRV_SRC := $(PSNAMES_DIR)/psmodule.c # PSNames driver headers # PSNAMES_DRV_H := $(PSNAMES_DRV_SRC:%.c=%.h) \ - $(PSNAMES_DIR_)pstables.h \ - $(PSNAMES_DIR_)psnamerr.h + $(PSNAMES_DIR)/pstables.h \ + $(PSNAMES_DIR)/psnamerr.h # PSNames driver object(s) @@ -41,25 +40,25 @@ PSNAMES_DRV_H := $(PSNAMES_DRV_SRC:%.c=%.h) \ # PSNAMES_DRV_OBJ_M is used during `multi' builds # PSNAMES_DRV_OBJ_S is used during `single' builds # -PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR_)%.c=$(OBJ_)%.$O) -PSNAMES_DRV_OBJ_S := $(OBJ_)psnames.$O +PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR)/%.c=$(OBJ_DIR)/%.$O) +PSNAMES_DRV_OBJ_S := $(OBJ_DIR)/psnames.$O # PSNames driver source file for single build # -PSNAMES_DRV_SRC_S := $(PSNAMES_DIR_)psmodule.c +PSNAMES_DRV_SRC_S := $(PSNAMES_DIR)/psmodule.c # PSNames driver - single object # $(PSNAMES_DRV_OBJ_S): $(PSNAMES_DRV_SRC_S) $(PSNAMES_DRV_SRC) \ $(FREETYPE_H) $(PSNAMES_DRV_H) - $(PSNAMES_COMPILE) $T$@ $(PSNAMES_DRV_SRC_S) + $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PSNAMES_DRV_SRC_S)) # PSNames driver - multiple objects # -$(OBJ_)%.$O: $(PSNAMES_DIR_)%.c $(FREETYPE_H) $(PSNAMES_DRV_H) - $(PSNAMES_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(PSNAMES_DIR)/%.c $(FREETYPE_H) $(PSNAMES_DRV_H) + $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/raster/rules.mk b/src/raster/rules.mk index 9fe4b8bd0..0dc8782ea 100644 --- a/src/raster/rules.mk +++ b/src/raster/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -13,58 +13,57 @@ # fully. -# raster1 driver directory +# raster driver directory # -RAS1_DIR := $(SRC_)raster -RAS1_DIR_ := $(RAS1_DIR)$(SEP) +RASTER_DIR := $(SRC_DIR)/raster # compilation flags for the driver # -RAS1_COMPILE := $(FT_COMPILE) $I$(RAS1_DIR) +RASTER_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(RASTER_DIR)) -# raster1 driver sources (i.e., C files) +# raster driver sources (i.e., C files) # -RAS1_DRV_SRC := $(RAS1_DIR_)ftraster.c \ - $(RAS1_DIR_)ftrend1.c +RASTER_DRV_SRC := $(RASTER_DIR)/ftraster.c \ + $(RASTER_DIR)/ftrend1.c -# raster1 driver headers +# raster driver headers # -RAS1_DRV_H := $(RAS1_DRV_SRC:%.c=%.h) \ - $(RAS1_DIR_)rasterrs.h +RASTER_DRV_H := $(RASTER_DRV_SRC:%.c=%.h) \ + $(RASTER_DIR)/rasterrs.h -# raster1 driver object(s) +# raster driver object(s) # -# RAS1_DRV_OBJ_M is used during `multi' builds. -# RAS1_DRV_OBJ_S is used during `single' builds. +# RASTER_DRV_OBJ_M is used during `multi' builds. +# RASTER_DRV_OBJ_S is used during `single' builds. # -RAS1_DRV_OBJ_M := $(RAS1_DRV_SRC:$(RAS1_DIR_)%.c=$(OBJ_)%.$O) -RAS1_DRV_OBJ_S := $(OBJ_)raster.$O +RASTER_DRV_OBJ_M := $(RASTER_DRV_SRC:$(RASTER_DIR)/%.c=$(OBJ_DIR)/%.$O) +RASTER_DRV_OBJ_S := $(OBJ_DIR)/raster.$O -# raster1 driver source file for single build +# raster driver source file for single build # -RAS1_DRV_SRC_S := $(RAS1_DIR_)raster.c +RASTER_DRV_SRC_S := $(RASTER_DIR)/raster.c -# raster1 driver - single object +# raster driver - single object # -$(RAS1_DRV_OBJ_S): $(RAS1_DRV_SRC_S) $(RAS1_DRV_SRC) \ - $(FREETYPE_H) $(RAS1_DRV_H) - $(RAS1_COMPILE) $T$@ $(RAS1_DRV_SRC_S) +$(RASTER_DRV_OBJ_S): $(RASTER_DRV_SRC_S) $(RASTER_DRV_SRC) \ + $(FREETYPE_H) $(RASTER_DRV_H) + $(RASTER_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(RASTER_DRV_SRC_S)) -# raster1 driver - multiple objects +# raster driver - multiple objects # -$(OBJ_)%.$O: $(RAS1_DIR_)%.c $(FREETYPE_H) $(RAS1_DRV_H) - $(RAS1_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(RASTER_DIR)/%.c $(FREETYPE_H) $(RASTER_DRV_H) + $(RASTER_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists # -DRV_OBJS_S += $(RAS1_DRV_OBJ_S) -DRV_OBJS_M += $(RAS1_DRV_OBJ_M) +DRV_OBJS_S += $(RASTER_DRV_OBJ_S) +DRV_OBJS_M += $(RASTER_DRV_OBJ_M) # EOF diff --git a/src/sfnt/rules.mk b/src/sfnt/rules.mk index c074a6afc..140789747 100644 --- a/src/sfnt/rules.mk +++ b/src/sfnt/rules.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, @@ -15,29 +15,28 @@ # SFNT driver directory # -SFNT_DIR := $(SRC_)sfnt -SFNT_DIR_ := $(SFNT_DIR)$(SEP) +SFNT_DIR := $(SRC_DIR)/sfnt # compilation flags for the driver # -SFNT_COMPILE := $(FT_COMPILE) $I$(SFNT_DIR) +SFNT_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SFNT_DIR)) # SFNT driver sources (i.e., C files) # -SFNT_DRV_SRC := $(SFNT_DIR_)ttload.c \ - $(SFNT_DIR_)ttcmap.c \ - $(SFNT_DIR_)ttcmap0.c \ - $(SFNT_DIR_)ttsbit.c \ - $(SFNT_DIR_)ttpost.c \ - $(SFNT_DIR_)sfobjs.c \ - $(SFNT_DIR_)sfdriver.c +SFNT_DRV_SRC := $(SFNT_DIR)/ttload.c \ + $(SFNT_DIR)/ttcmap.c \ + $(SFNT_DIR)/ttcmap0.c \ + $(SFNT_DIR)/ttsbit.c \ + $(SFNT_DIR)/ttpost.c \ + $(SFNT_DIR)/sfobjs.c \ + $(SFNT_DIR)/sfdriver.c # SFNT driver headers # SFNT_DRV_H := $(SFNT_DRV_SRC:%c=%h) \ - $(SFNT_DIR_)sferrors.h + $(SFNT_DIR)/sferrors.h # SFNT driver object(s) @@ -45,25 +44,25 @@ SFNT_DRV_H := $(SFNT_DRV_SRC:%c=%h) \ # SFNT_DRV_OBJ_M is used during `multi' builds. # SFNT_DRV_OBJ_S is used during `single' builds. # -SFNT_DRV_OBJ_M := $(SFNT_DRV_SRC:$(SFNT_DIR_)%.c=$(OBJ_)%.$O) -SFNT_DRV_OBJ_S := $(OBJ_)sfnt.$O +SFNT_DRV_OBJ_M := $(SFNT_DRV_SRC:$(SFNT_DIR)/%.c=$(OBJ_DIR)/%.$O) +SFNT_DRV_OBJ_S := $(OBJ_DIR)/sfnt.$O # SFNT driver source file for single build # -SFNT_DRV_SRC_S := $(SFNT_DIR_)sfnt.c +SFNT_DRV_SRC_S := $(SFNT_DIR)/sfnt.c # SFNT driver - single object # $(SFNT_DRV_OBJ_S): $(SFNT_DRV_SRC_S) $(SFNT_DRV_SRC) \ $(FREETYPE_H) $(SFNT_DRV_H) - $(SFNT_COMPILE) $T$@ $(SFNT_DRV_SRC_S) + $(SFNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(SFNT_DRV_SRC_S)) # SFNT driver - multiple objects # -$(OBJ_)%.$O: $(SFNT_DIR_)%.c $(FREETYPE_H) $(SFNT_DRV_H) - $(SFNT_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(SFNT_DIR)/%.c $(FREETYPE_H) $(SFNT_DRV_H) + $(SFNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/smooth/rules.mk b/src/smooth/rules.mk index 457f1e5f4..4f27f01db 100644 --- a/src/smooth/rules.mk +++ b/src/smooth/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,24 +15,23 @@ # smooth driver directory # -SMOOTH_DIR := $(SRC_)smooth -SMOOTH_DIR_ := $(SMOOTH_DIR)$(SEP) +SMOOTH_DIR := $(SRC_DIR)/smooth # compilation flags for the driver # -SMOOTH_COMPILE := $(FT_COMPILE) $I$(SMOOTH_DIR) +SMOOTH_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SMOOTH_DIR)) # smooth driver sources (i.e., C files) # -SMOOTH_DRV_SRC := $(SMOOTH_DIR_)ftgrays.c \ - $(SMOOTH_DIR_)ftsmooth.c +SMOOTH_DRV_SRC := $(SMOOTH_DIR)/ftgrays.c \ + $(SMOOTH_DIR)/ftsmooth.c # smooth driver headers # SMOOTH_DRV_H := $(SMOOTH_DRV_SRC:%c=%h) \ - $(SMOOTH_DIR_)ftsmerrs.h + $(SMOOTH_DIR)/ftsmerrs.h # smooth driver object(s) @@ -40,25 +39,25 @@ SMOOTH_DRV_H := $(SMOOTH_DRV_SRC:%c=%h) \ # SMOOTH_DRV_OBJ_M is used during `multi' builds. # SMOOTH_DRV_OBJ_S is used during `single' builds. # -SMOOTH_DRV_OBJ_M := $(SMOOTH_DRV_SRC:$(SMOOTH_DIR_)%.c=$(OBJ_)%.$O) -SMOOTH_DRV_OBJ_S := $(OBJ_)smooth.$O +SMOOTH_DRV_OBJ_M := $(SMOOTH_DRV_SRC:$(SMOOTH_DIR)/%.c=$(OBJ_DIR)/%.$O) +SMOOTH_DRV_OBJ_S := $(OBJ_DIR)/smooth.$O # smooth driver source file for single build # -SMOOTH_DRV_SRC_S := $(SMOOTH_DIR_)smooth.c +SMOOTH_DRV_SRC_S := $(SMOOTH_DIR)/smooth.c # smooth driver - single object # $(SMOOTH_DRV_OBJ_S): $(SMOOTH_DRV_SRC_S) $(SMOOTH_DRV_SRC) \ - $(FREETYPE_H) $(SMOOTH_DRV_H) - $(SMOOTH_COMPILE) $T$@ $(SMOOTH_DRV_SRC_S) + $(FREETYPE_H) $(SMOOTH_DRV_H) + $(SMOOTH_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(SMOOTH_DRV_SRC_S)) # smooth driver - multiple objects # -$(OBJ_)%.$O: $(SMOOTH_DIR_)%.c $(FREETYPE_H) $(SMOOTH_DRV_H) - $(SMOOTH_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(SMOOTH_DIR)/%.c $(FREETYPE_H) $(SMOOTH_DRV_H) + $(SMOOTH_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists diff --git a/src/truetype/rules.mk b/src/truetype/rules.mk index 7c1f3e3a6..bbb0c9f8e 100644 --- a/src/truetype/rules.mk +++ b/src/truetype/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,27 +15,26 @@ # TrueType driver directory # -TT_DIR := $(SRC_)truetype -TT_DIR_ := $(TT_DIR)$(SEP) +TT_DIR := $(SRC_DIR)/truetype # compilation flags for the driver # -TT_COMPILE := $(FT_COMPILE) $I$(TT_DIR) +TT_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(TT_DIR)) # TrueType driver sources (i.e., C files) # -TT_DRV_SRC := $(TT_DIR_)ttobjs.c \ - $(TT_DIR_)ttpload.c \ - $(TT_DIR_)ttgload.c \ - $(TT_DIR_)ttinterp.c \ - $(TT_DIR_)ttdriver.c +TT_DRV_SRC := $(TT_DIR)/ttobjs.c \ + $(TT_DIR)/ttpload.c \ + $(TT_DIR)/ttgload.c \ + $(TT_DIR)/ttinterp.c \ + $(TT_DIR)/ttdriver.c # TrueType driver headers # TT_DRV_H := $(TT_DRV_SRC:%.c=%.h) \ - $(TT_DIR_)tterrors.h + $(TT_DIR)/tterrors.h # TrueType driver object(s) @@ -43,24 +42,24 @@ TT_DRV_H := $(TT_DRV_SRC:%.c=%.h) \ # TT_DRV_OBJ_M is used during `multi' builds # TT_DRV_OBJ_S is used during `single' builds # -TT_DRV_OBJ_M := $(TT_DRV_SRC:$(TT_DIR_)%.c=$(OBJ_)%.$O) -TT_DRV_OBJ_S := $(OBJ_)truetype.$O +TT_DRV_OBJ_M := $(TT_DRV_SRC:$(TT_DIR)/%.c=$(OBJ_DIR)/%.$O) +TT_DRV_OBJ_S := $(OBJ_DIR)/truetype.$O # TrueType driver source file for single build # -TT_DRV_SRC_S := $(TT_DIR_)truetype.c +TT_DRV_SRC_S := $(TT_DIR)/truetype.c # TrueType driver - single object # $(TT_DRV_OBJ_S): $(TT_DRV_SRC_S) $(TT_DRV_SRC) $(FREETYPE_H) $(TT_DRV_H) - $(TT_COMPILE) $T$@ $(TT_DRV_SRC_S) + $(TT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(TT_DRV_SRC_S)) # driver - multiple objects # -$(OBJ_)%.$O: $(TT_DIR_)%.c $(FREETYPE_H) $(TT_DRV_H) - $(TT_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(TT_DIR)/%.c $(FREETYPE_H) $(TT_DRV_H) + $(TT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -68,4 +67,5 @@ $(OBJ_)%.$O: $(TT_DIR_)%.c $(FREETYPE_H) $(TT_DRV_H) DRV_OBJS_S += $(TT_DRV_OBJ_S) DRV_OBJS_M += $(TT_DRV_OBJ_M) + # EOF diff --git a/src/type1/rules.mk b/src/type1/rules.mk index 49a4e4ad1..15087b030 100644 --- a/src/type1/rules.mk +++ b/src/type1/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,29 +15,28 @@ # Type1 driver directory # -T1_DIR := $(SRC_)type1 -T1_DIR_ := $(T1_DIR)$(SEP) +T1_DIR := $(SRC_DIR)/type1 # compilation flags for the driver # -T1_COMPILE := $(FT_COMPILE) $I$(T1_DIR) +T1_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(T1_DIR)) # Type1 driver sources (i.e., C files) # -T1_DRV_SRC := $(T1_DIR_)t1parse.c \ - $(T1_DIR_)t1load.c \ - $(T1_DIR_)t1driver.c \ - $(T1_DIR_)t1afm.c \ - $(T1_DIR_)t1gload.c \ - $(T1_DIR_)t1objs.c +T1_DRV_SRC := $(T1_DIR)/t1parse.c \ + $(T1_DIR)/t1load.c \ + $(T1_DIR)/t1driver.c \ + $(T1_DIR)/t1afm.c \ + $(T1_DIR)/t1gload.c \ + $(T1_DIR)/t1objs.c # Type1 driver headers # T1_DRV_H := $(T1_DRV_SRC:%.c=%.h) \ - $(T1_DIR_)t1tokens.h \ - $(T1_DIR_)t1errors.h + $(T1_DIR)/t1tokens.h \ + $(T1_DIR)/t1errors.h # Type1 driver object(s) @@ -45,24 +44,24 @@ T1_DRV_H := $(T1_DRV_SRC:%.c=%.h) \ # T1_DRV_OBJ_M is used during `multi' builds # T1_DRV_OBJ_S is used during `single' builds # -T1_DRV_OBJ_M := $(T1_DRV_SRC:$(T1_DIR_)%.c=$(OBJ_)%.$O) -T1_DRV_OBJ_S := $(OBJ_)type1.$O +T1_DRV_OBJ_M := $(T1_DRV_SRC:$(T1_DIR)/%.c=$(OBJ_DIR)/%.$O) +T1_DRV_OBJ_S := $(OBJ_DIR)/type1.$O # Type1 driver source file for single build # -T1_DRV_SRC_S := $(T1_DIR_)type1.c +T1_DRV_SRC_S := $(T1_DIR)/type1.c # Type1 driver - single object # $(T1_DRV_OBJ_S): $(T1_DRV_SRC_S) $(T1_DRV_SRC) $(FREETYPE_H) $(T1_DRV_H) - $(T1_COMPILE) $T$@ $(T1_DRV_SRC_S) + $(T1_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(T1_DRV_SRC_S)) # Type1 driver - multiple objects # -$(OBJ_)%.$O: $(T1_DIR_)%.c $(FREETYPE_H) $(T1_DRV_H) - $(T1_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(T1_DIR)/%.c $(FREETYPE_H) $(T1_DRV_H) + $(T1_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -70,4 +69,5 @@ $(OBJ_)%.$O: $(T1_DIR_)%.c $(FREETYPE_H) $(T1_DRV_H) DRV_OBJS_S += $(T1_DRV_OBJ_S) DRV_OBJS_M += $(T1_DRV_OBJ_M) + # EOF diff --git a/src/type42/rules.mk b/src/type42/rules.mk index f991449f5..556306195 100644 --- a/src/type42/rules.mk +++ b/src/type42/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2002 by +# Copyright 2002, 2003 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,25 +15,24 @@ # Type42 driver directory # -T42_DIR := $(SRC_)type42 -T42_DIR_ := $(T42_DIR)$(SEP) +T42_DIR := $(SRC_DIR)/type42 # compilation flags for the driver # -T42_COMPILE := $(FT_COMPILE) $I$(T42_DIR) +T42_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(T42_DIR)) # Type42 driver source # -T42_DRV_SRC := $(T42_DIR_)t42objs.c \ - $(T42_DIR_)t42parse.c \ - $(T42_DIR_)t42drivr.c +T42_DRV_SRC := $(T42_DIR)/t42objs.c \ + $(T42_DIR)/t42parse.c \ + $(T42_DIR)/t42drivr.c # Type42 driver headers # T42_DRV_H := $(T42_DRV_SRC:%.c=%.h) \ - $(T42_DIR_)t42error.h + $(T42_DIR)/t42error.h # Type42 driver object(s) @@ -41,24 +40,24 @@ T42_DRV_H := $(T42_DRV_SRC:%.c=%.h) \ # T42_DRV_OBJ_M is used during `multi' builds # T42_DRV_OBJ_S is used during `single' builds # -T42_DRV_OBJ_M := $(T42_DRV_SRC:$(T42_DIR_)%.c=$(OBJ_)%.$O) -T42_DRV_OBJ_S := $(OBJ_)type42.$O +T42_DRV_OBJ_M := $(T42_DRV_SRC:$(T42_DIR)/%.c=$(OBJ_DIR)/%.$O) +T42_DRV_OBJ_S := $(OBJ_DIR)/type42.$O # Type42 driver source file for single build # -T42_DRV_SRC_S := $(T42_DIR_)type42.c +T42_DRV_SRC_S := $(T42_DIR)/type42.c # Type42 driver - single object # $(T42_DRV_OBJ_S): $(T42_DRV_SRC_S) $(T42_DRV_SRC) $(FREETYPE_H) $(T42_DRV_H) - $(T42_COMPILE) $T$@ $(T42_DRV_SRC_S) + $(T42_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(T42_DRV_SRC_S)) # Type42 driver - multiple objects # -$(OBJ_)%.$O: $(T42_DIR_)%.c $(FREETYPE_H) $(T42_DRV_H) - $(T42_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(T42_DIR)/%.c $(FREETYPE_H) $(T42_DRV_H) + $(T42_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -66,4 +65,5 @@ $(OBJ_)%.$O: $(T42_DIR_)%.c $(FREETYPE_H) $(T42_DRV_H) DRV_OBJS_S += $(T42_DRV_OBJ_S) DRV_OBJS_M += $(T42_DRV_OBJ_M) + # EOF diff --git a/src/winfonts/rules.mk b/src/winfonts/rules.mk index 994eef833..71a7df2d8 100644 --- a/src/winfonts/rules.mk +++ b/src/winfonts/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001 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, @@ -15,21 +15,20 @@ # Windows driver directory # -FNT_DIR := $(SRC_)winfonts -FNT_DIR_ := $(FNT_DIR)$(SEP) +FNT_DIR := $(SRC_DIR)/winfonts -FNT_COMPILE := $(FT_COMPILE) $I$(FNT_DIR) +FNT_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(FNT_DIR)) # Windows driver sources (i.e., C files) # -FNT_DRV_SRC := $(FNT_DIR_)winfnt.c +FNT_DRV_SRC := $(FNT_DIR)/winfnt.c # Windows driver headers # FNT_DRV_H := $(FNT_DRV_SRC:%.c=%.h) \ - $(FNT_DIR_)fnterrs.h + $(FNT_DIR)/fnterrs.h # Windows driver object(s) @@ -37,24 +36,24 @@ FNT_DRV_H := $(FNT_DRV_SRC:%.c=%.h) \ # FNT_DRV_OBJ_M is used during `multi' builds # FNT_DRV_OBJ_S is used during `single' builds # -FNT_DRV_OBJ_M := $(FNT_DRV_SRC:$(FNT_DIR_)%.c=$(OBJ_)%.$O) -FNT_DRV_OBJ_S := $(OBJ_)winfnt.$O +FNT_DRV_OBJ_M := $(FNT_DRV_SRC:$(FNT_DIR)/%.c=$(OBJ_DIR)/%.$O) +FNT_DRV_OBJ_S := $(OBJ_DIR)/winfnt.$O # Windows driver source file for single build # -FNT_DRV_SRC_S := $(FNT_DIR_)winfnt.c +FNT_DRV_SRC_S := $(FNT_DIR)/winfnt.c # Windows driver - single object # $(FNT_DRV_OBJ_S): $(FNT_DRV_SRC_S) $(FNT_DRV_SRC) $(FREETYPE_H) $(FNT_DRV_H) - $(FNT_COMPILE) $T$@ $(FNT_DRV_SRC_S) + $(FNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(FNT_DRV_SRC_S)) # Windows driver - multiple objects # -$(OBJ_)%.$O: $(FNT_DIR_)%.c $(FREETYPE_H) $(FNT_DRV_H) - $(FNT_COMPILE) $T$@ $< +$(OBJ_DIR)/%.$O: $(FNT_DIR)/%.c $(FREETYPE_H) $(FNT_DRV_H) + $(FNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) # update main driver object lists @@ -62,4 +61,5 @@ $(OBJ_)%.$O: $(FNT_DIR_)%.c $(FREETYPE_H) $(FNT_DRV_H) DRV_OBJS_S += $(FNT_DRV_OBJ_S) DRV_OBJS_M += $(FNT_DRV_OBJ_M) + # EOF