зеркало из https://github.com/stride3d/freetype.git
A first check of FT2's Make system. Many smaller and larger bugs have been
fixed: . Removing unused variables. . detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE). . ansi.mk will now be really used as a fallback if the detect mechanism fails. . ANSIFLAGS will now be really used (fixing a typo). . `make clean' now works (again two typos). . Detection of gcc on Unix has been fixed (using the `-v' option instead of `--version'). . `make devel' now works (on Unix). . Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use of `-L' compiler options. . $(BASE_H) now contains a few more header files. As usual, a lot of formatting (not finished yet).
This commit is contained in:
Родитель
8c5c932e46
Коммит
febe3fbeba
139
Makefile
139
Makefile
|
@ -1,108 +1,103 @@
|
|||
#******************************************************************************
|
||||
#*
|
||||
#* FreeType build system - top-level Makefile
|
||||
#*
|
||||
#* This file is designed for GNU Make, do not use it with another Make tool.
|
||||
#* It works as follows :
|
||||
#*
|
||||
#* - when invoked for the first time, this Makefile will include
|
||||
#* the rules found in `freetype/config/detect.mk'. They are in charge
|
||||
#* of detecting the current platform.
|
||||
#*
|
||||
#* A summary of the detection will be displayed, and the file `config.mk'
|
||||
#* will be created in the current directory
|
||||
#*
|
||||
#*
|
||||
#* - when invoked later, this Makefile will include the rules found in
|
||||
#* `config.mk'. This sub-Makefile will define some system-specific
|
||||
#* variables (like compiler, compilation flags, object suffix, etc..),
|
||||
#* then include the rules found in `freetype/config/freetype.mk',
|
||||
#* used to build the library.
|
||||
#*
|
||||
#* See the comments in `config/detect.mk' and `config/freetype.mk' for
|
||||
#* more details on host platform detection and library builds..
|
||||
#*
|
||||
#******************************************************************************
|
||||
#
|
||||
# FreeType 2 build system -- top-level Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This file is designed for GNU Make, do not use it with another Make tool!
|
||||
#
|
||||
# It works as follows:
|
||||
#
|
||||
# - When invoked for the first time, this Makefile will include the rules
|
||||
# found in `freetype/config/detect.mk'. They are in charge of detecting
|
||||
# the current platform.
|
||||
#
|
||||
# A summary of the detection will be displayed, and the file `config.mk'
|
||||
# will be created in the current directory.
|
||||
#
|
||||
# - When invoked later, this Makefile will include the rules found in
|
||||
# `config.mk'. This sub-Makefile will define some system-specific
|
||||
# variables (like compiler, compilation flags, object suffix, etc.), then
|
||||
# include the rules found in `freetype/config/freetype.mk', used to build
|
||||
# the library.
|
||||
#
|
||||
# See the comments in `config/detect.mk' and `config/freetype.mk' for more
|
||||
# details on host platform detection and library builds.
|
||||
|
||||
|
||||
.PHONY: setup
|
||||
|
||||
#
|
||||
# The variable TOP holds the path to the topmost directory in the FreeType
|
||||
# engine source hierarchy. If it is not defined, default it to '.'
|
||||
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||
#
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
CONFIG_MK := config.mk
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# If no configuration sub-makefile is present, or if "setup" is the target
|
||||
# to be built, run the auto-detection rules to figure out which configuration
|
||||
# rules file to use..
|
||||
# If no configuration sub-makefile is present, or if `setup' is the target
|
||||
# to be built, run the auto-detection rules to figure out which
|
||||
# configuration rules file to use.
|
||||
#
|
||||
# Note that the configuration file is put in the current directory, which is
|
||||
# not necessarily TOP.
|
||||
#
|
||||
# not necessarily $(TOP).
|
||||
|
||||
# if `config.mk' is not present, set "check_platform" and "first_time"
|
||||
# If `config.mk' is not present, set `check_platform'.
|
||||
#
|
||||
ifeq ($(wildcard $(CONFIG_MK)),)
|
||||
check_platform := 1
|
||||
first_time := 1
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
# if `setup' is one of the targets requested, set "check_platform"
|
||||
# If `setup' is one of the targets requested, set `check_platform'.
|
||||
#
|
||||
ifneq ($(findstring setup,$(MAKECMDGOALS)),)
|
||||
check_platform := 1
|
||||
check_platform := 1
|
||||
endif
|
||||
|
||||
|
||||
#########################################################################
|
||||
#
|
||||
# include the automatic host platform detection rules when we need to
|
||||
# Include the automatic host platform detection rules when we need to
|
||||
# check the platform.
|
||||
#
|
||||
#
|
||||
ifdef check_platform
|
||||
|
||||
all: setup
|
||||
all: setup
|
||||
|
||||
# If the module list $(FT_MODULE_LIST) file is not present, generate it.
|
||||
#
|
||||
modules: make_module_list setup
|
||||
|
||||
# if the module list $(FT_MODULE_LIST) file is not present,
|
||||
# generate it
|
||||
#
|
||||
modules: make_module_list setup
|
||||
|
||||
include $(TOP)/config/detect.mk
|
||||
include $(TOP)/config/modules.mk
|
||||
|
||||
ifeq ($(wildcard $(FT_MODULE_LIST)),)
|
||||
setup: make_module_list
|
||||
endif
|
||||
|
||||
|
||||
# "setup" must be defined by the host platform detection rules
|
||||
# to create the 'config.mk' file in the current directory.
|
||||
#
|
||||
include $(TOP)/config/detect.mk
|
||||
include $(TOP)/config/modules.mk
|
||||
|
||||
ifeq ($(wildcard $(FT_MODULE_LIST)),)
|
||||
setup: make_module_list
|
||||
endif
|
||||
|
||||
# IMPORTANT:
|
||||
#
|
||||
# `setup' must be defined by the host platform detection rules to create
|
||||
# the `config.mk' file in the current directory.
|
||||
|
||||
else
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# A configuration sub-Makefile is present, simply run it..
|
||||
#
|
||||
#
|
||||
all: build_freetype
|
||||
# A configuration sub-Makefile is present -- simply run it.
|
||||
#
|
||||
all: build_freetype
|
||||
|
||||
modules: make_module_list
|
||||
modules: make_module_list
|
||||
|
||||
BUILD_FREETYPE := yes
|
||||
include $(CONFIG_MK)
|
||||
BUILD_FREETYPE := yes
|
||||
include $(CONFIG_MK)
|
||||
|
||||
endif #test check_platform
|
||||
endif # test check_platform
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
#*******************************************************************
|
||||
#*
|
||||
#* FreeType 2 Configuration rules for a `normal' ANSI compiler
|
||||
#*
|
||||
#* Copyright 1996-2000 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.
|
||||
#*
|
||||
#* Please read the file "freetype/docs/config.txt" to understand
|
||||
#* what this file does..
|
||||
#*
|
||||
#*******************************************************************
|
||||
#
|
||||
# FreeType 2 configuration rules for a `normal' ANSI compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
|
@ -26,109 +23,110 @@ HOSTSEP := $(SEP)
|
|||
BUILD := $(TOP)/config/ansi
|
||||
PLATFORM := ansi
|
||||
|
||||
# the directory where all object files are placed
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj !!
|
||||
# This lets you build the library in your own directory
|
||||
# with something like :
|
||||
#
|
||||
# set TOP=....../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f $TOP/Makefile setup [options]
|
||||
# make -f $TOP/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# the directory where all library files are placed
|
||||
# The directory where all library files are placed
|
||||
#
|
||||
# by default, this is the same as OBJ_DIR, however, this can be
|
||||
# changed to suit particular needs..
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# the object file extension, this can be .o, .tco, .obj, etc..
|
||||
# depending on the platform
|
||||
# The object file extension. This can be .o, .tco, .obj, etc., depending on
|
||||
# the platform.
|
||||
#
|
||||
O := o
|
||||
|
||||
# the library file extension, this can be .a, .lib, etc..
|
||||
# depending on the platform
|
||||
# The library file extension. This can be .a, .lib, etc., depending on the
|
||||
# platform.
|
||||
#
|
||||
A := a
|
||||
|
||||
|
||||
# The name of the final library file.
|
||||
# Note that the DOS-specific Makefile uses a shorter (8.3) name
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# path inclusion flag.
|
||||
#
|
||||
# Some compilers use a different flag than '-I' to specify an
|
||||
# additional include path. Examples are "/i=" or "-J", etc...
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given
|
||||
# source object. Usually is '-D' like in "-DDEBUG"
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# Target flag - beware, there is a space after the 'o' !!
|
||||
#
|
||||
#
|
||||
T := -o
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link.
|
||||
# Note that this is only used to compile the demo programs, not
|
||||
# the library itself.
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern : debug output, optimization & warnings
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used
|
||||
# to enfore ANSI compliance..
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c
|
||||
CFLAGS := -c
|
||||
endif
|
||||
|
||||
# ANSIFLAGS : put there the flags used to make your compiler ANSI-compliant
|
||||
# nothing (if it already is by default like LCC).
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS :=
|
||||
|
||||
# Now include the main sub-makefile. It contains all the rules used
|
||||
# to build the library with the previous variables defined
|
||||
#
|
||||
include $(TOP)/config/freetype.mk
|
||||
|
||||
clean_freetype: clean_freetype_std
|
||||
distclean_freetype: clean_freetype_library_std
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/config/freetype.mk
|
||||
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_std
|
||||
distclean_freetype: distclean_freetype_std
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single
|
||||
# library. It is part of the system-specific sub-Makefile because not
|
||||
# all librarians accept a simple syntax like :
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like:
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
167
config/detect.mk
167
config/detect.mk
|
@ -1,127 +1,130 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* FreeType host platform detection rules *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#* *
|
||||
#* This sub-Makefile is in charge of detecting the current platform *
|
||||
#* It sets some variables accordingly. Namely : *
|
||||
#* *
|
||||
#* PLATFORM The detected platform. This will default to "ansi" if *
|
||||
#* auto-detection fails. *
|
||||
#* *
|
||||
#* BUILD The configuration and system-specific directory. Usually *
|
||||
#* 'freetype/config/$(PLATFORM)' but can be different when *
|
||||
#* a specific compiler has been requested on the *
|
||||
#* command line.. *
|
||||
#* *
|
||||
#* CONFIG_RULES The Makefile to use. This usually depends on the compiler *
|
||||
#* defined in the 'CC' environment variable. *
|
||||
#* *
|
||||
#* DELETE The shell command used to remove a given file *
|
||||
#* COPY The shell command used to copy one file *
|
||||
#* *
|
||||
#* You need to set the following variable(s) before calling it: *
|
||||
#* *
|
||||
#* TOP The top-most directory in the FreeType library source *
|
||||
#* hierarchy. If not defined, it will default to '.' *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 host platform detection rules
|
||||
#
|
||||
|
||||
# If TOP is not defined, default it to '.'
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This sub-Makefile is in charge of detecting the current platform. It sets
|
||||
# the following variables:
|
||||
#
|
||||
# BUILD The configuration and system-specific directory. Usually
|
||||
# `freetype/config/$(PLATFORM)' but can be different if a
|
||||
# specific compiler has been requested on the command line.
|
||||
#
|
||||
# The following variables must be defined in system specific `detect.mk'
|
||||
# files:
|
||||
#
|
||||
# PLATFORM The detected platform. This will default to `ansi' if
|
||||
# auto-detection fails.
|
||||
# CONFIG_FILE The Makefile to use. This usually depends on the compiler
|
||||
# defined in the `CC' environment variable.
|
||||
# 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.
|
||||
# CC The compiler to use.
|
||||
#
|
||||
# You need to set the following variable(s) before calling it:
|
||||
#
|
||||
# TOP The top-most directory in the FreeType library source
|
||||
# hierarchy. If not defined, it will default to `.'.
|
||||
|
||||
# If TOP is not defined, default it to `.'
|
||||
#
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
# Set auto-detection default to `ansi'.
|
||||
# Note that we delay the evaluation of $(CONFIG_), $(BUILD), and
|
||||
# $(CONFIG_RULES).
|
||||
#
|
||||
# set auto-detection default to ANSI.
|
||||
# Note that we delay the valuation of BUILD and RULES
|
||||
#
|
||||
PLATFORM := ansi
|
||||
CONFIG = $(TOP)$(SEP)config
|
||||
DELETE := $(RM)
|
||||
COPY := cp
|
||||
SEP := /
|
||||
PLATFORM := ansi
|
||||
DELETE := $(RM)
|
||||
COPY := cp
|
||||
SEP := /
|
||||
|
||||
BUILD = $(CONFIG)$(SEP)$(PLATFORM)
|
||||
CONFIG_FILE = $(BUILD)/Makefile
|
||||
CONFIG_ = $(TOP)$(SEP)config$(SEP)
|
||||
BUILD = $(CONFIG_)$(PLATFORM)
|
||||
CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
|
||||
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
# Now, include each detection rules file found in a `config/<system>'
|
||||
# directory..
|
||||
#
|
||||
#
|
||||
|
||||
# we define the BACKSLASH variable to hold a single back-slash character
|
||||
# We define the BACKSLASH variable to hold a single back-slash character.
|
||||
# This is needed because a line like
|
||||
#
|
||||
# SEP := \
|
||||
# SEP := \
|
||||
#
|
||||
# does not work with GNU Make (the back-slash is interpreted as a line
|
||||
# continuation). While a line like :
|
||||
# does not work with GNU Make (the backslash is interpreted as a line
|
||||
# continuation). While a line like
|
||||
#
|
||||
# SEP := \\
|
||||
# SEP := \\
|
||||
#
|
||||
# really define $(SEP) as "\" on Unix, and "\\" on Dos and Windows !!
|
||||
# really defines $(SEP) as `\' on Unix, and `\\' on Dos and Windows!
|
||||
#
|
||||
BACKSLASH := $(strip \ )
|
||||
|
||||
include $(wildcard $(CONFIG)/*/detect.mk)
|
||||
# Now, include all detection rule files found in the `config/<system>'
|
||||
# directories. Note that the calling order of the various `detect.mk' files
|
||||
# isn't predictable.
|
||||
#
|
||||
include $(wildcard $(CONFIG_)*/detect.mk)
|
||||
|
||||
# In case no detection rule file was successful, use the default.
|
||||
#
|
||||
ifndef CONFIG_FILE
|
||||
CONFIG_FILE := ansi.mk
|
||||
setup: std_setup
|
||||
endif
|
||||
|
||||
# The following targets are equivalent, with the exception that they use
|
||||
# slightly different syntaxes for the `echo' command. This is due to
|
||||
# slightly different syntaxes for the `echo' command.
|
||||
#
|
||||
# std_setup: is defined for most platforms
|
||||
# dos_setup: is defined for Dos-ish platforms like Dos, Windows & OS/2
|
||||
# std_setup: defined for most platforms
|
||||
# dos_setup: defined for Dos-ish platforms like Dos, Windows & OS/2
|
||||
#
|
||||
|
||||
.PHONY: std_setup dos_setup
|
||||
.PHONY: std_setup dos_setup
|
||||
|
||||
std_setup:
|
||||
@echo ""
|
||||
@echo "FreeType build system - automatic system detection"
|
||||
@echo "FreeType build system -- automatic system detection"
|
||||
@echo ""
|
||||
@echo "The following settings were detected :"
|
||||
@echo "The following settings are used:"
|
||||
@echo ""
|
||||
@echo " platform : $(PLATFORM)"
|
||||
@echo " compiler : $(CC)"
|
||||
@echo " configuration directory : $(BUILD)"
|
||||
@echo " configuration rules : $(CONFIG_RULES)"
|
||||
@echo " platform $(PLATFORM)"
|
||||
@echo " compiler $(CC)"
|
||||
@echo " configuration directory $(BUILD)"
|
||||
@echo " configuration rules $(CONFIG_RULES)"
|
||||
@echo ""
|
||||
@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."
|
||||
@echo ""
|
||||
@echo "Otherwise, simple type \`make' again to build the library"
|
||||
@echo "Otherwise, simply type \`make' again to build the library."
|
||||
@echo ""
|
||||
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
||||
|
||||
dos_setup:
|
||||
@echo ÿ
|
||||
@echo FreeType build system - automatic system detection
|
||||
@echo FreeType build system -- automatic system detection
|
||||
@echo ÿ
|
||||
@echo The following settings were detected :
|
||||
@echo The following settings are used:
|
||||
@echo ÿ
|
||||
@echo ÿÿplatformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ: $(PLATFORM)
|
||||
@echo ÿÿcompilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ: $(CC)
|
||||
@echo ÿÿconfiguration directoryÿÿ: $(BUILD)
|
||||
@echo ÿÿconfiguration rulesÿÿÿÿÿÿ: $(CONFIG_RULES)
|
||||
@echo ÿÿplatformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
|
||||
@echo ÿÿcompilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
|
||||
@echo ÿÿconfiguration directoryÿÿÿÿÿÿ$(BUILD)
|
||||
@echo ÿÿconfiguration rulesÿÿÿÿÿÿÿÿÿÿ$(CONFIG_RULES)
|
||||
@echo ÿ
|
||||
@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.
|
||||
@echo ÿ
|
||||
@echo Otherwise, simple type 'make' again to build the library
|
||||
@echo Otherwise, simply type 'make' again to build the library.
|
||||
@echo ÿ
|
||||
@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,87 +1,91 @@
|
|||
#
|
||||
# This file is used to detect a DOS host platform.
|
||||
# FreeType 2 configuration file to detect a DOS host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This configuration file to be used depends on the value of the CC
|
||||
# environment variable.
|
||||
#
|
||||
#
|
||||
# environment variable which is set below according to the compiler name
|
||||
# given as a parameter to make.
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the 'ver'
|
||||
# command-line program to see if its output contains the word "Dos"
|
||||
#
|
||||
# If this is true, we're running a Dos-ish platform (or an emulation)
|
||||
#
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Dos'.
|
||||
#
|
||||
# If this is true, we are running a Dos-ish platform (or an emulation).
|
||||
#
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
ifdef COMSPEC
|
||||
ifdef COMSPEC
|
||||
|
||||
is_dos := $(findstring Dos,$(shell ver))
|
||||
is_dos := $(findstring Dos,$(shell ver))
|
||||
|
||||
# We try to recognize a Dos session under OS/2. The "ver" command
|
||||
# returns 'Operating System/2 ...' there, so 'is_dos' should be empty
|
||||
# there.
|
||||
#
|
||||
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||
# substring "MDOS\COMMAND"
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||
endif
|
||||
# We try to recognize a Dos session under OS/2. The `ver' command
|
||||
# returns `Operating System/2 ...' there, so `is_dos' should be empty
|
||||
# there.
|
||||
#
|
||||
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||
# substring `MDOS\COMMAND'
|
||||
#
|
||||
ifeq ($(is_dos),)
|
||||
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||
endif
|
||||
|
||||
ifneq ($(is_dos),)
|
||||
ifneq ($(is_dos),)
|
||||
|
||||
PLATFORM := dos
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
PLATFORM := dos
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
|
||||
#####################################################################
|
||||
#
|
||||
# Use gcc, i.e. DJGPP by default. Aren't we biased ;-)
|
||||
#
|
||||
#
|
||||
CONFIG_FILE := dos-gcc.mk
|
||||
SEP := /
|
||||
ifndef CC
|
||||
CC := gcc
|
||||
endif
|
||||
# Use DJGPP (i.e. gcc) by default.
|
||||
#
|
||||
CONFIG_FILE := dos-gcc.mk
|
||||
SEP := /
|
||||
ifndef CC
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||
CONFIG_FILE := dos-tcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := tcc
|
||||
.PHONY: turboc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||
CONFIG_FILE := dos-tcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := tcc
|
||||
.PHONY: turboc
|
||||
endif
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := dos-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := dos-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16 bits
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc
|
||||
.PHONY: borlandc16
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16 bits
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc
|
||||
.PHONY: borlandc16
|
||||
endif
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32 bits
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32 bits
|
||||
CONFIG_FILE := dos-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
setup: dos_setup
|
||||
|
||||
CONFIG_RULES := $(TOP)\config\dos\$(CONFIG_FILE)
|
||||
|
||||
# use the Dos version of the "setup dump"
|
||||
#
|
||||
setup: dos_setup
|
||||
|
||||
endif # test Dos
|
||||
endif # test COMSPEC
|
||||
endif # test PLATFORM
|
||||
endif # test Dos
|
||||
endif # test COMSPEC
|
||||
endif # test PLATFORM
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
#*******************************************************************
|
||||
#*
|
||||
#* FreeType 2 Configuration rules for Dos + GCC
|
||||
#*
|
||||
#* Copyright 1996-2000 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.
|
||||
#*
|
||||
#* Please read the file "freetype/docs/config.txt" to understand
|
||||
#* what this file does..
|
||||
#*
|
||||
#*******************************************************************
|
||||
#
|
||||
# FreeType 2 configuration rules for the DJGPP compiler
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
|
@ -26,106 +23,110 @@ HOSTSEP := $(strip \ )
|
|||
BUILD := $(TOP)/config/dos
|
||||
PLATFORM := dos
|
||||
|
||||
# the directory where all object files are placed
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj !!
|
||||
# This lets you build the library in your own directory
|
||||
# with something like :
|
||||
#
|
||||
# set TOP=....../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# the directory where all library files are placed
|
||||
# The directory where all library files are placed
|
||||
#
|
||||
# by default, this is the same as OBJ_DIR, however, this can be
|
||||
# changed to suit particular needs..
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# the object file extension, this can be .o, .tco, .obj, etc..
|
||||
# depending on the platform
|
||||
# The object file extension. This can be .o, .tco, .obj, etc., depending on
|
||||
# the platform.
|
||||
#
|
||||
O := o
|
||||
|
||||
# the library file extension, this can be .a, .lib, etc..
|
||||
# depending on the platform
|
||||
# The library file extension. This can be .a, .lib, etc., depending on the
|
||||
# platform.
|
||||
#
|
||||
A := a
|
||||
|
||||
|
||||
# The name of the final library file.
|
||||
# Note that the DOS-specific Makefile uses a shorter (8.3) name
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# path inclusion flag.
|
||||
#
|
||||
# Some compilers use a different flag than '-I' to specify an
|
||||
# additional include path. Examples are "/i=" or "-J", etc...
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link.
|
||||
# Note that this is only used to compile the demo programs, not
|
||||
# the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given
|
||||
# source object. Usually is '-D' like in "-DDEBUG"
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# Target flag - beware, there is a space after the 'o' !!
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern :
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# - debug output
|
||||
# - optimization
|
||||
# - warnings
|
||||
# - ansi compliance..
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS : put there the flags used to make your compiler ANSI-compliant
|
||||
# nothing (if it already is by default like LCC).
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
include $(TOP)/config/freetype.mk
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/config/freetype.mk
|
||||
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_dos
|
||||
distclean_freetype: distclean_freetype_dos
|
||||
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single
|
||||
# library. It is part of the system-specific sub-Makefile because not
|
||||
# all librarians accept a simple syntax like :
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(AR) -r $@ $(OBJECTS_LIST)
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like:
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,57 +1,51 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* FreeType library sub-Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#* *
|
||||
#* *
|
||||
#* DO NOT INVOKE THIS MAKEFILE DIRECTLY. IT IS MEANT TO BE INCLUDED BY *
|
||||
#* OTHER MAKEFILES. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
|
||||
|
||||
# include the 'modules' rules file
|
||||
#
|
||||
include $(TOP)/config/modules.mk
|
||||
# FreeType 2 library sub-Makefile
|
||||
#
|
||||
|
||||
# The targets `objects', `library' are defined at the end of
|
||||
# this Makefile when all rules have been included..
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
|
||||
# OTHER MAKEFILES.
|
||||
|
||||
|
||||
# The targets `objects' and `library' are defined at the end of this
|
||||
# Makefile when all rules have been included.
|
||||
#
|
||||
.PHONY: build_freetype objects library
|
||||
|
||||
# default target - build objects and library
|
||||
# default target -- build objects and library
|
||||
#
|
||||
build_freetype: objects library
|
||||
|
||||
# `multi' target - build multiple objects and library
|
||||
# `multi' target -- build multiple objects and library
|
||||
#
|
||||
multi: objects library
|
||||
|
||||
|
||||
# The FreeType sources directory.
|
||||
# The FreeType source directory.
|
||||
#
|
||||
SRC := $(TOP)$(SEP)src
|
||||
|
||||
|
||||
# The directory where the base layer components are placed.
|
||||
# By default, this is 'freetype/src/base'
|
||||
# The directory where the base layer components are placed. By default,
|
||||
# this is `freetype/src/base'.
|
||||
#
|
||||
BASE_DIR := $(SRC)$(SEP)base
|
||||
|
||||
|
||||
# A Few short-cuts in order to avoid typing $(SEP) all the time for
|
||||
# the directory separator
|
||||
# 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)
|
||||
# For example: SRC_ equals to `./src/' where `.' is $(TOP).
|
||||
#
|
||||
#
|
||||
SRC_ := $(SRC)$(SEP)
|
||||
|
@ -61,6 +55,7 @@ LIB_ := $(LIB_DIR)$(SEP)
|
|||
PUBLIC_ := $(TOP)$(SEP)include$(SEP)
|
||||
CONFIG_ := $(TOP)$(SEP)config$(SEP)
|
||||
|
||||
|
||||
# The name of the final library file.
|
||||
#
|
||||
FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
||||
|
@ -69,10 +64,10 @@ FT_LIBRARY := $(LIB_)$(LIBRARY).$A
|
|||
# include paths
|
||||
#
|
||||
# IMPORTANT NOTE: The architecture-dependent directory must ALWAYS be placed
|
||||
# in front of the include list. Porters are then able to put
|
||||
# their own version of some of the FreeType components in
|
||||
# the 'freetype/config/<system>' directory, as these files
|
||||
# will override the default sources.
|
||||
# in front of the include list. Porters are then able to
|
||||
# put their own version of some of the FreeType components
|
||||
# in the `freetype/config/<system>' directory, as these
|
||||
# files will override the default sources.
|
||||
#
|
||||
INCLUDES := $(BUILD) $(TOP)$(SEP)config $(TOP)$(SEP)include $(INCLUDES)
|
||||
|
||||
|
@ -80,34 +75,37 @@ INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
|||
|
||||
|
||||
# C flags used for the compilation of an object file. This must include at
|
||||
# least the paths for the 'base' and 'config/<system>' directories,
|
||||
# least the paths for the `base' and `config/<system>' directories,
|
||||
# debug/optimization/warning flags + ansi compliance if needed.
|
||||
#
|
||||
FT_CFLAGS = $(CFLAGS) $(INCLUDE_FLAGS)
|
||||
FT_CC = $(CC) $(FT_CFLAGS)
|
||||
FT_COMPILE = $(CC) $(ANSI_FLAGS) $(FT_CFLAGS)
|
||||
FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
|
||||
|
||||
|
||||
# include the `modules' rules file
|
||||
#
|
||||
# Free the lists of driver objects
|
||||
include $(CONFIG_)modules.mk
|
||||
|
||||
|
||||
# Free the lists of driver objects.
|
||||
#
|
||||
COMPONENTS_LIST :=
|
||||
DRIVERS_LIST :=
|
||||
OBJECTS_LIST :=
|
||||
|
||||
# System-specific component - this must be defined in this Makefile
|
||||
# for easy updates. The default Ansi ftsystem.c is located in
|
||||
# 'freetype/config/ftsystem.c'. However, some system-specific
|
||||
# configuration might define FTSYS_SRC to fetch it in other places,
|
||||
# like 'freetype/config/<system>/ftsystem.c'
|
||||
# System-specific component -- this must be defined in this Makefile for
|
||||
# easy updates. The default ANSI ftsystem.c is located in
|
||||
# `freetype/config/ftsystem.c'. However, some system-specific configuration
|
||||
# might define $(FTSYS_SRC) to fetch it in other places, like
|
||||
# `freetype/config/<system>/ftsystem.c'.
|
||||
#
|
||||
# BASE_H is defined in src/base/rules.mk and contains the list of all
|
||||
# $(BASE_H) is defined in `src/base/rules.mk' and contains the list of all
|
||||
# base layer header files.
|
||||
#
|
||||
ifndef FTSYS_SRC
|
||||
FTSYS_SRC = $(BASE_)ftsystem.c
|
||||
FTSYS_SRC = $(BASE_)ftsystem.c
|
||||
endif
|
||||
|
||||
FTSYS_OBJ = $(OBJ_)ftsystem.$O
|
||||
|
||||
OBJECTS_LIST += $(FTSYS_OBJ)
|
||||
|
@ -118,10 +116,9 @@ $(FTSYS_OBJ): $(FTSYS_SRC) $(BASE_H)
|
|||
|
||||
# ftdebug component
|
||||
#
|
||||
# FTDebug contains code used to print traces and errors. It is
|
||||
# normally empty for a release build (see ftoption.h)
|
||||
# FTDebug contains code used to print traces and errors. It is normally
|
||||
# empty for a release build (see ftoption.h).
|
||||
#
|
||||
|
||||
FTDEBUG_SRC = $(BASE_)ftdebug.c
|
||||
FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
|
||||
|
||||
|
@ -131,28 +128,27 @@ $(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(BASE_H)
|
|||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
|
||||
# Define PUBLIC_H as the list of all public header files located in
|
||||
# `$(TOP)/include'
|
||||
# Define $(PUBLIC_H) as the list of all public header files located in
|
||||
# `$(TOP)/include'.
|
||||
#
|
||||
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
|
||||
|
||||
|
||||
# Include all rule files from FreeType components
|
||||
#
|
||||
# Include all rule files from FreeType components.
|
||||
#
|
||||
include $(wildcard $(SRC)/*/rules.mk)
|
||||
|
||||
# FTInit file:
|
||||
|
||||
# FTInit file
|
||||
#
|
||||
# The C source 'ftinit.c' contains the FreeType initialisation routines.
|
||||
# The C source `ftinit.c' contains the FreeType initialization routines.
|
||||
# It is able to automatically register one or more drivers when the API
|
||||
# function FT_Init_FreeType() is called.
|
||||
#
|
||||
# The set of initial drivers is determined by the driver Makefiles
|
||||
# includes above. Each driver Makefile updates the FTINIT_xxxx lists
|
||||
# which contain additional include paths and macros used to compile the
|
||||
# single 'ftinit.c' source.
|
||||
# single `ftinit.c' source.
|
||||
#
|
||||
FTINIT_SRC := $(BASE_)ftinit.c
|
||||
FTINIT_OBJ := $(OBJ_)ftinit.$O
|
||||
|
@ -166,26 +162,25 @@ $(FTINIT_OBJ): $(FTINIT_SRC) $(BASE_H) $(FT_MODULE_LIST)
|
|||
# All FreeType library objects
|
||||
#
|
||||
# By default, we include the base layer extensions. These could be
|
||||
# ommitted on builds which do not want them.
|
||||
# omitted on builds which do not want them.
|
||||
#
|
||||
OBJ_M = $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M)
|
||||
|
||||
OBJ_S = $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S)
|
||||
|
||||
# the target 'multi' on the Make command line indicates that we want
|
||||
# to compile each source file independently..
|
||||
#
|
||||
# Otherwise, each module/driver is compiled in a single object file
|
||||
# through source file inclusion (see 'src/base/ftbase.c' or
|
||||
# 'src/truetype/truetype.c' for examples)
|
||||
#
|
||||
|
||||
# The target `multi' on the Make command line indicates that we want to
|
||||
# compile each source file independently.
|
||||
#
|
||||
# Otherwise, each module/driver is compiled in a single object file through
|
||||
# source file inclusion (see `src/base/ftbase.c' or
|
||||
# `src/truetype/truetype.c' for examples).
|
||||
#
|
||||
BASE_OBJECTS := $(OBJECTS_LIST)
|
||||
|
||||
ifneq ($(findstring multi,$(MAKECMDGOALS)),)
|
||||
OBJECTS_LIST += $(OBJ_M)
|
||||
OBJECTS_LIST += $(OBJ_M)
|
||||
else
|
||||
OBJECTS_LIST += $(OBJ_S)
|
||||
OBJECTS_LIST += $(OBJ_S)
|
||||
endif
|
||||
|
||||
objects: $(OBJECTS_LIST)
|
||||
|
@ -196,36 +191,36 @@ library: $(FT_LIBRARY)
|
|||
$(FT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# Standard cleaning and distclean rules. These are not accepted
|
||||
# on all systems though..
|
||||
# Standard cleaning and distclean rules. These are not accepted
|
||||
# on all systems though.
|
||||
#
|
||||
clean_freetype_std:
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJS_M) $(OBJS_S)
|
||||
-$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
|
||||
|
||||
distclean_freetype_std: clean_freetype_std
|
||||
-$(DELETE) $(FT_LIBRARY)
|
||||
-$(DELETE) *.orig *~ core *.core
|
||||
|
||||
# The Dos command shell does not support very long list of arguments
|
||||
# so we're stuck with wildcards
|
||||
# The Dos command shell does not support very long list of arguments, so
|
||||
# we are stuck with wildcards.
|
||||
#
|
||||
|
||||
clean_freetype_dos:
|
||||
-del $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O 2> nul
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O 2> nul
|
||||
|
||||
distclean_freetype_dos: clean_freetype_dos
|
||||
-del $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
|
||||
|
||||
# remove configuration file (used for distclean)
|
||||
# Remove configuration file (used for distclean).
|
||||
#
|
||||
remove_config_mk:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK))
|
||||
|
||||
# the "config.mk" must define 'clean_freetype' and 'distclean_freetype'
|
||||
# implementations may use to relay these to either the 'std' or 'dos'
|
||||
# versions, or simply provide their own implementation..
|
||||
|
||||
# The `config.mk' file must define `clean_freetype' and
|
||||
# `distclean_freetype'. Implementations may use to relay these to either
|
||||
# the `std' or `dos' versions, or simply provide their own implementation.
|
||||
#
|
||||
clean: clean_freetype
|
||||
distclean: distclean_freetype remove_config_mk
|
||||
|
||||
# END
|
||||
# EOF
|
||||
|
|
|
@ -1,69 +1,73 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* FreeType modules sub-Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#* *
|
||||
#* *
|
||||
#* DO NOT INVOKE THIS MAKEFILE DIRECTLY. IT IS MEANT TO BE INCLUDED BY *
|
||||
#* OTHER MAKEFILES. *
|
||||
#* *
|
||||
#* This file is in charge of handling the generation of the modules list *
|
||||
#* file, normally located in `config/ftmodule.h' *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 modules sub-Makefile
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
|
||||
# OTHER MAKEFILES.
|
||||
|
||||
|
||||
# This file is in charge of handling the generation of the modules list
|
||||
# file, normally located in `config/ftmodule.h'.
|
||||
|
||||
.PHONY: make_module_list clean_module_list remake_module_list
|
||||
|
||||
# MODULE_LIST, as it name suggests, indicate where the modules list
|
||||
# reside. For now, it is in $(BUILD)/ftmodule.h
|
||||
# MODULE_LIST, as its name suggests, indicates where the modules list
|
||||
# resides. For now, it is in `config/ftmodule.h'.
|
||||
#
|
||||
ifndef FT_MODULE_LIST
|
||||
FT_MODULE_LIST := $(TOP)$(SEP)config$(SEP)ftmodule.h
|
||||
FT_MODULE_LIST := $(CONFIG_)ftmodule.h
|
||||
endif
|
||||
|
||||
# To build the modules list, we invoke the `make_module_list' target
|
||||
# To build the modules list, we invoke the `make_module_list' target.
|
||||
#
|
||||
#$(FT_MODULE_LIST): make_module_list
|
||||
|
||||
# Before the modules list file can be generated, we must remove the
|
||||
# file in order to `clean' the list
|
||||
# Before the modules list file can be generated, we must remove the file in
|
||||
# order to `clean' the list.
|
||||
#
|
||||
clean_module_list:
|
||||
@-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_MODULE_LIST))
|
||||
@-echo Regenerating the font drivers list in $(FT_MODULE_LIST)
|
||||
@-echo Regenerating the font drivers list in $(FT_MODULE_LIST)...
|
||||
|
||||
make_module_list: clean_module_list
|
||||
@echo -- done --
|
||||
@echo done.
|
||||
|
||||
|
||||
# Trailing spaces are protected with a `#' sign to avoid accidental
|
||||
# removing.
|
||||
#
|
||||
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
||||
OPEN_MODULE := @echo
|
||||
CLOSE_MODULE := >> $(FT_MODULE_LIST)
|
||||
OPEN_MODULE := @echo #
|
||||
CLOSE_MODULE := >> $(FT_MODULE_LIST)
|
||||
else
|
||||
OPEN_MODULE := @echo "
|
||||
CLOSE_MODULE := " >> $(FT_MODULE_LIST)
|
||||
OPEN_MODULE := @echo "
|
||||
CLOSE_MODULE := " >> $(FT_MODULE_LIST)
|
||||
endif
|
||||
|
||||
# OPEN_DRIVER & CLOSE_DRIVER are used to specify a given font driver
|
||||
# in the `module.mk' rules file
|
||||
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
||||
# in the `module.mk' rules file.
|
||||
#
|
||||
OPEN_DRIVER := $(OPEN_MODULE)FT_DRIVER(
|
||||
CLOSE_DRIVER := )$(CLOSE_MODULE)
|
||||
|
||||
ECHO_DRIVER := @echo "* driver:
|
||||
ECHO_DRIVER := @echo "* driver: #
|
||||
ECHO_DRIVER_DESC := (
|
||||
ECHO_DRIVER_DONE := )"
|
||||
|
||||
# each `module.mk' in the `src' sub-dirs is used to add one rule to
|
||||
# the target `make_module_list'.
|
||||
# Each `module.mk' in the `src' sub-dirs is used to add one rule to the
|
||||
# target `make_module_list'.
|
||||
#
|
||||
include $(wildcard $(TOP)/src/*/module.mk)
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,54 +1,64 @@
|
|||
#
|
||||
# This file is used to detect an OS/2 host, and set the build variables
|
||||
# accordingly..
|
||||
#
|
||||
# which Makefile to use based on the value of the CC environment variable.
|
||||
#
|
||||
# OS/2
|
||||
# FreeType 2 configuration file to detect an OS/2 host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This configuration file to be used depends on the value of the CC
|
||||
# environment variable which is set below according to the compiler name
|
||||
# given as a parameter to make.
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
ifdef OS2_SHELL
|
||||
ifdef OS2_SHELL
|
||||
|
||||
PLATFORM := os2
|
||||
COPY := copy
|
||||
DELETE := del
|
||||
PLATFORM := os2
|
||||
COPY := copy
|
||||
DELETE := del
|
||||
|
||||
CONFIG_FILE := os2-gcc.mk # gcc-emx by default
|
||||
SEP := /
|
||||
CONFIG_FILE := os2-gcc.mk # gcc-emx by default
|
||||
SEP := /
|
||||
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := os2-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
.PHONY: visualage
|
||||
endif
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := os2-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
.PHONY: visualage
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := os2-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := os2-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
.PHONY: watcom
|
||||
endif
|
||||
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32 bits
|
||||
CONFIG_FILE := os2-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32 bits
|
||||
CONFIG_FILE := os2-bcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := bcc32
|
||||
.PHONY: borlandc
|
||||
endif
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := os2-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := os2-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
|
||||
CONFIG_RULES := $(TOP)\config\os2\$(CONFIG_FILE)
|
||||
setup: dos_setup
|
||||
|
||||
setup: dos_setup
|
||||
endif # test OS2_SHELL
|
||||
endif # test PLATFORM
|
||||
|
||||
endif #test OS2_SHELL
|
||||
endif #test PLATFORM
|
||||
#EOF
|
||||
|
|
|
@ -1,58 +1,62 @@
|
|||
#
|
||||
# This file is used to detect which Makefile to use based on the
|
||||
# value of the CC environment variable.
|
||||
# FreeType 2 configuration file to detect a UNIX host platform.
|
||||
#
|
||||
# Unix
|
||||
#
|
||||
#
|
||||
# This will _much_ probably change in the future if we're going to use
|
||||
# Automake/Autoconf..
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This will probably change a lost in the future if we are going to use
|
||||
# Automake/Autoconf...
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
has_inittab := $(strip $(wildcard /etc/inittab))
|
||||
ifneq ($(has_inittab),)
|
||||
has_inittab := $(strip $(wildcard /etc/inittab))
|
||||
|
||||
PLATFORM := unix
|
||||
COPY := cp
|
||||
DELETE := rm -f
|
||||
ifneq ($(has_inittab),)
|
||||
|
||||
# if `devel' is the requested target, use the development Makefile
|
||||
#
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_RULES := $(BUILD)$(SEP)unix-dev.mk
|
||||
devel: setup;
|
||||
endif
|
||||
|
||||
# test wether we're using gcc ? If it is, we selected the
|
||||
# 'unix-gcc.mk' configuration file. Otherwise, the standard
|
||||
# 'unix.mk' which simply calls "cc -c" with no extra arguments
|
||||
#
|
||||
# Feel free to add support for other platform specific compilers
|
||||
# in this directory (e.g. solaris.mk + changes here to detect the
|
||||
# platform)
|
||||
#
|
||||
ifeq ($(CC),gcc)
|
||||
is_gcc := 1
|
||||
else
|
||||
ifneq ($(findstring gcc,$(shell $(CC) --version)),)
|
||||
is_gcc := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef is_gcc
|
||||
CONFIG_RULES := $(BUILD)$(SEP)unix-gcc.mk
|
||||
else
|
||||
CONFIG_RULES := $(BUILD)$(SEP)unix.mk
|
||||
endif
|
||||
|
||||
setup: std_setup
|
||||
|
||||
endif # test Unix
|
||||
endif # test PLATFORM
|
||||
PLATFORM := unix
|
||||
COPY := cp
|
||||
DELETE := rm -f
|
||||
|
||||
# Test whether we're using gcc. If so, we select the `unix-gcc.mk'
|
||||
# configuration file. Otherwise, the standard `unix.mk' is used which
|
||||
# simply calls `cc -c' with no extra arguments.
|
||||
#
|
||||
# Feel free to add support for other platform specific compilers in this
|
||||
# directory (e.g. solaris.mk + changes here to detect the platform).
|
||||
#
|
||||
ifeq ($(CC),gcc)
|
||||
is_gcc := 1
|
||||
else
|
||||
ifneq ($(findstring gcc,$(shell $(CC) -v 2>&1)),)
|
||||
is_gcc := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef is_gcc
|
||||
CONFIG_FILE := unix-gcc.mk
|
||||
else
|
||||
CONFIG_FILE := unix.mk
|
||||
endif
|
||||
|
||||
# If `devel' is the requested target, use the development Makefile.
|
||||
#
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := unix-dev.mk
|
||||
devel: setup
|
||||
endif
|
||||
|
||||
setup: std_setup
|
||||
|
||||
endif # test Unix
|
||||
endif # test PLATFORM
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
#*******************************************************************
|
||||
#*
|
||||
#* FreeType 2 Configuration rules for a standard Unix compiler
|
||||
#*
|
||||
#* Copyright 1996-2000 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.
|
||||
#*
|
||||
#* Please read the file "freetype/docs/config.txt" to understand
|
||||
#* what this file does..
|
||||
#*
|
||||
#*******************************************************************
|
||||
#
|
||||
# FreeType 2 configuration rules for the gcc compiler under UNIX
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef TOP
|
||||
TOP := .
|
||||
TOP := .
|
||||
endif
|
||||
|
||||
DELETE := rm -f
|
||||
|
@ -26,105 +23,110 @@ HOSTSEP := $(SEP)
|
|||
BUILD := $(TOP)/config/unix
|
||||
PLATFORM := unix
|
||||
|
||||
# the directory where all object files are placed
|
||||
# The directory where all object files are placed.
|
||||
#
|
||||
# Note that this is not $(TOP)/obj !!
|
||||
# This lets you build the library in your own directory
|
||||
# with something like :
|
||||
#
|
||||
# set TOP=....../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f %TOP%/Makefile setup [options]
|
||||
# make -f %TOP%/Makefile
|
||||
# Note that this is not $(TOP)/obj!
|
||||
# This lets you build the library in your own directory with something like
|
||||
#
|
||||
# set TOP=.../path/to/freetype2/top/dir...
|
||||
# mkdir obj
|
||||
# make -f $TOP/Makefile setup [options]
|
||||
# make -f $TOP/Makefile
|
||||
#
|
||||
OBJ_DIR := obj
|
||||
|
||||
|
||||
# the directory where all library files are placed
|
||||
# The directory where all library files are placed
|
||||
#
|
||||
# by default, this is the same as OBJ_DIR, however, this can be
|
||||
# changed to suit particular needs..
|
||||
# By default, this is the same as $(OBJ_DIR), however, this can be changed
|
||||
# to suit particular needs.
|
||||
#
|
||||
LIB_DIR := $(OBJ_DIR)
|
||||
|
||||
|
||||
# the object file extension, this can be .o, .tco, .obj, etc..
|
||||
# depending on the platform
|
||||
# The object file extension. This can be .o, .tco, .obj, etc., depending on
|
||||
# the platform.
|
||||
#
|
||||
O := o
|
||||
|
||||
# the library file extension, this can be .a, .lib, etc..
|
||||
# depending on the platform
|
||||
# The library file extension. This can be .a, .lib, etc., depending on the
|
||||
# platform.
|
||||
#
|
||||
A := a
|
||||
|
||||
|
||||
# The name of the final library file.
|
||||
# Note that the DOS-specific Makefile uses a shorter (8.3) name
|
||||
# The name of the final library file. Note that the DOS-specific Makefile
|
||||
# uses a shorter (8.3) name.
|
||||
#
|
||||
LIBRARY := libfreetype
|
||||
|
||||
|
||||
# path inclusion flag.
|
||||
#
|
||||
# Some compilers use a different flag than '-I' to specify an
|
||||
# additional include path. Examples are "/i=" or "-J", etc...
|
||||
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||
#
|
||||
I := -I
|
||||
|
||||
|
||||
# The link flag used to specify a given library file on link.
|
||||
# Note that this is only used to compile the demo programs, not
|
||||
# the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# C flag used to define a macro before the compilation of a given
|
||||
# source object. Usually is '-D' like in "-DDEBUG"
|
||||
# C flag used to define a macro before the compilation of a given source
|
||||
# object. Usually is `-D' like in `-DDEBUG'.
|
||||
#
|
||||
D := -D
|
||||
|
||||
|
||||
# Target flag - beware, there is a space after the 'o' !!
|
||||
# The link flag used to specify a given library file on link. Note that
|
||||
# this is only used to compile the demo programs, not the library itself.
|
||||
#
|
||||
L := -l
|
||||
|
||||
|
||||
# Target flag.
|
||||
#
|
||||
T := -o
|
||||
T := -o # Don't remove this comment line! We need the space after `-o'.
|
||||
|
||||
|
||||
# C flags
|
||||
#
|
||||
# These should concern :
|
||||
# These should concern: debug output, optimization & warnings.
|
||||
#
|
||||
# - debug output
|
||||
# - optimization
|
||||
# - warnings
|
||||
# - ansi compliance..
|
||||
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
|
||||
# ANSI compliance.
|
||||
#
|
||||
ifndef CFLAGS
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
CFLAGS := -c -g -O6 -Wall
|
||||
endif
|
||||
|
||||
# ANSIFLAGS : put there the flags used to make your compiler ANSI-compliant
|
||||
# nothing (if it already is by default like LCC).
|
||||
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||
#
|
||||
ANSIFLAGS := -ansi -pedantic
|
||||
|
||||
|
||||
ifdef BUILD_FREETYPE
|
||||
|
||||
include $(TOP)/config/freetype.mk
|
||||
# Now include the main sub-makefile. It contains all the rules used to
|
||||
# build the library with the previous variables defined.
|
||||
#
|
||||
include $(TOP)/config/freetype.mk
|
||||
|
||||
clean_freetype: clean_freetype_std
|
||||
distclean_freetype: distclean_freetype_std
|
||||
# The cleanup targets.
|
||||
#
|
||||
clean_freetype: clean_freetype_std
|
||||
distclean_freetype: distclean_freetype_std
|
||||
|
||||
# This final rule is used to link all object files into a single
|
||||
# library. It is part of the system-specific sub-Makefile because not
|
||||
# all librarians accept a simple syntax like :
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(AR) -r $@ $(OBJECTS_LIST)
|
||||
# Librarian to use to build the static library
|
||||
#
|
||||
FT_LIBRARIAN := $(AR) -r
|
||||
|
||||
|
||||
# This final rule is used to link all object files into a single library.
|
||||
# It is part of the system-specific sub-Makefile because not all
|
||||
# librarians accept a simple syntax like:
|
||||
#
|
||||
# librarian library_file {list of object files}
|
||||
#
|
||||
$(FT_LIBRARY): $(OBJECTS_LIST)
|
||||
-$(DELETE) $@
|
||||
$(FT_LIBRARIAN) $@ $(OBJECTS_LIST)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,93 +1,93 @@
|
|||
#
|
||||
# This file is used to detect a Win32 host platform.
|
||||
# FreeType 2 configuration file to detect a Win32 host platform.
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# This configuration file to be used depends on the value of the CC
|
||||
# environment variable.
|
||||
#
|
||||
#
|
||||
# environment variable which is set below according to the compiler name
|
||||
# given as a parameter to make.
|
||||
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Detecting Windows NT or Windows 9x
|
||||
#
|
||||
# Detecting Windows NT is easy, as the OS variable must be defined and
|
||||
# contains `Windows_NT'. Untested with Windows 2K, but I guess it should
|
||||
# work...
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
is_windows := 1
|
||||
|
||||
# Detecting Windows NT is easy, as the OS variable must be defined
|
||||
# and contains "Windows_NT". Untested with Windows 2K, but I guess
|
||||
# it should work ...
|
||||
#
|
||||
ifeq ($(OS),Windows_NT)
|
||||
is_windows := 1
|
||||
# We test for the COMSPEC environment variable, then run the `ver'
|
||||
# command-line program to see if its output contains the word `Windows'.
|
||||
#
|
||||
# If this is true, we're running a win32 platform (or an emulation).
|
||||
#
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||
endif
|
||||
endif #test NT
|
||||
|
||||
# We test for the COMSPEC environment variable, then run the 'ver'
|
||||
# command-line program to see if its output contains the word "Windows"
|
||||
#
|
||||
# If this is true, we're running a win32 platform (or an emulation)
|
||||
#
|
||||
else
|
||||
ifdef COMSPEC
|
||||
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||
endif
|
||||
endif #test NT
|
||||
ifdef is_windows
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Rules for Win32
|
||||
#
|
||||
PLATFORM := win32
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
|
||||
ifdef is_windows
|
||||
CONFIG_FILE := w32-gcc.mk # gcc Makefile by default
|
||||
SEP := /
|
||||
ifeq ($(CC),cc)
|
||||
CC := gcc
|
||||
endif
|
||||
|
||||
PLATFORM := win32
|
||||
DELETE := del
|
||||
COPY := copy
|
||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||
CONFIG_FILE := w32-vcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := cl
|
||||
visualc: setup
|
||||
endif
|
||||
|
||||
CONFIG_FILE := w32-gcc.mk # gcc Makefile by default - aren't we biased ;-)
|
||||
SEP := /
|
||||
ifeq ($(CC),cc)
|
||||
CC := gcc
|
||||
endif
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := w32-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
endif
|
||||
|
||||
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
|
||||
CONFIG_FILE := w32-vcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := cl
|
||||
visualc: setup
|
||||
endif
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := w32-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
visualage: setup
|
||||
endif
|
||||
|
||||
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||
CONFIG_FILE := w32-wat.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := wcc386
|
||||
watcom: setup
|
||||
endif
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||
CONFIG_FILE := w32-lcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
endif
|
||||
|
||||
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
|
||||
CONFIG_FILE := w32-icc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := icc
|
||||
visualage: setup
|
||||
endif
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := w32-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
|
||||
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
|
||||
CONFIG_FILE := w32-lcc.mk
|
||||
SEP := $(BACKSLASH)
|
||||
CC := lcc
|
||||
lcc: setup
|
||||
endif
|
||||
setup: dos_setup
|
||||
|
||||
ifneq ($(findstring devel,$(MAKECMDGOALS)),)
|
||||
CONFIG_FILE := w32-dev.mk
|
||||
CC := gcc
|
||||
SEP := /
|
||||
devel: setup
|
||||
endif
|
||||
|
||||
CONFIG_RULES := $(TOP)\config\win32\$(CONFIG_FILE)
|
||||
|
||||
setup: dos_setup
|
||||
|
||||
endif #test is_windows
|
||||
endif #test PLATFORM
|
||||
endif # test is_windows
|
||||
endif # test PLATFORM
|
||||
|
||||
# EOF
|
||||
|
|
359
demos/Makefile
359
demos/Makefile
|
@ -10,11 +10,11 @@ all: exes
|
|||
#
|
||||
|
||||
ifndef TOP
|
||||
TOP := ..
|
||||
TOP := ..
|
||||
endif
|
||||
|
||||
ifndef TOP2
|
||||
TOP2 := $(TOP)/demos
|
||||
TOP2 := $(TOP)/demos
|
||||
endif
|
||||
|
||||
######################################################################
|
||||
|
@ -23,7 +23,7 @@ endif
|
|||
# defined by default as $(TOP)/config.mk
|
||||
#
|
||||
ifndef CONFIG_MK
|
||||
CONFIG_MK := $(TOP)/config.mk
|
||||
CONFIG_MK := $(TOP)/config.mk
|
||||
endif
|
||||
|
||||
####################################################################
|
||||
|
@ -32,228 +32,223 @@ endif
|
|||
# If not, issue a warning message, then stop there..
|
||||
#
|
||||
ifeq ($(wildcard $(CONFIG_MK)),)
|
||||
no_config_mk := 1
|
||||
no_config_mk := 1
|
||||
endif
|
||||
|
||||
ifdef no_config_mk
|
||||
exes:
|
||||
@echo Please compile the library before the demo programs!
|
||||
clean distclean:
|
||||
@echo "I need \`$(TOP)/config.mk' to do that!"
|
||||
exes:
|
||||
@echo Please compile the library before the demo programs!
|
||||
clean distclean:
|
||||
@echo "I need \`$(TOP)/config.mk' to do that!"
|
||||
else
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Good, now include the `config.mk' in order to know how to build
|
||||
# object files from sources, as well as other things (compiler flags)
|
||||
#
|
||||
include $(CONFIG_MK)
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Define a few important variables now
|
||||
#
|
||||
#
|
||||
TOP_ := $(TOP)$(SEP)
|
||||
TOP2_ := $(TOP2)$(SEP)
|
||||
SRC_ := $(TOP)$(SEP)src$(SEP)
|
||||
|
||||
BIN_ := bin$(SEP)
|
||||
OBJ_ := obj$(SEP)
|
||||
|
||||
GRAPH_DIR := graph
|
||||
|
||||
ifeq ($(TOP),..)
|
||||
SRC_DIR := src
|
||||
else
|
||||
SRC_DIR := $(TOP2_)src
|
||||
endif
|
||||
|
||||
SRC_DIR_ := $(SRC_DIR)$(SEP)
|
||||
|
||||
FT_INCLUDES := $(BUILD) $(TOP_)config $(TOP_)include $(SRC_)base $(SRC_DIR)
|
||||
TT_INCLUDES := $(SRC_)shared $(SRC_)truetype
|
||||
T1_INCLUDES := $(SRC_)shared $(SRC_)type1
|
||||
|
||||
COMPILE = $(CC) $(CFLAGS) $(INCLUDES:%=$I%)
|
||||
LINK := $(CC)
|
||||
FTLIB := $(TOP_)$(LIB_DIR)$(SEP)$(LIBRARY).$A
|
||||
|
||||
# the default commands used to link the executables. These can
|
||||
# be re-defined for platform-specific stuff..
|
||||
#
|
||||
LINK = $(CC) $T$@ $< $(FTLIB) $(EFENCE)
|
||||
COMMON_LINK = $(LINK) $(COMMON_OBJ)
|
||||
GRAPH_LINK = $(COMMON_LINK) $(GRAPH_LIB)
|
||||
####################################################################
|
||||
#
|
||||
# Good, now include the `config.mk' in order to know how to build
|
||||
# object files from sources, as well as other things (compiler flags)
|
||||
#
|
||||
include $(CONFIG_MK)
|
||||
|
||||
|
||||
.PHONY: exes clean distclean
|
||||
####################################################################
|
||||
#
|
||||
# Define a few important variables now
|
||||
#
|
||||
TOP_ := $(TOP)$(SEP)
|
||||
TOP2_ := $(TOP2)$(SEP)
|
||||
SRC_ := $(TOP)$(SEP)src$(SEP)
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Include the rules needed to compile the graphics sub-system.
|
||||
# This will also select which graphics driver to compile to the
|
||||
# sub-system..
|
||||
#
|
||||
include $(GRAPH_DIR)/rules.mk
|
||||
BIN_ := bin$(SEP)
|
||||
OBJ_ := obj$(SEP)
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Detect DOS-like platforms, currently DOS, Win 3.1, Win32 & OS/2
|
||||
#
|
||||
#
|
||||
ifneq ($(findstring $(PLATFORM),os2 win16 win32 dos),)
|
||||
DOSLIKE := 1
|
||||
endif
|
||||
GRAPH_DIR := graph
|
||||
|
||||
ifeq ($(TOP),..)
|
||||
SRC_DIR := src
|
||||
else
|
||||
SRC_DIR := $(TOP2_)src
|
||||
endif
|
||||
|
||||
SRC_DIR_ := $(SRC_DIR)$(SEP)
|
||||
|
||||
FT_INCLUDES := $(BUILD) $(TOP_)config $(TOP_)include $(SRC_)base $(SRC_DIR)
|
||||
TT_INCLUDES := $(SRC_)shared $(SRC_)truetype
|
||||
T1_INCLUDES := $(SRC_)shared $(SRC_)type1
|
||||
|
||||
COMPILE = $(CC) $(CFLAGS) $(INCLUDES:%=$I%)
|
||||
LINK := $(CC)
|
||||
FTLIB := $(TOP_)$(LIB_DIR)$(SEP)$(LIBRARY).$A
|
||||
|
||||
# the default commands used to link the executables. These can
|
||||
# be re-defined for platform-specific stuff..
|
||||
#
|
||||
LINK = $(CC) $T$@ $< $(FTLIB) $(EFENCE)
|
||||
COMMON_LINK = $(LINK) $(COMMON_OBJ)
|
||||
GRAPH_LINK = $(COMMON_LINK) $(GRAPH_LIB)
|
||||
|
||||
.PHONY: exes clean distclean
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Include the rules needed to compile the graphics sub-system.
|
||||
# This will also select which graphics driver to compile to the
|
||||
# sub-system..
|
||||
#
|
||||
include $(GRAPH_DIR)/rules.mk
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Detect DOS-like platforms, currently DOS, Win 3.1, Win32 & OS/2
|
||||
#
|
||||
ifneq ($(findstring $(PLATFORM),os2 win16 win32 dos),)
|
||||
DOSLIKE := 1
|
||||
endif
|
||||
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Clean-up rules. Because the `del' command on DOS-like platforms
|
||||
# cannot take a long list of arguments, we simply erase the directory
|
||||
# contents..
|
||||
#
|
||||
###################################################################
|
||||
#
|
||||
# Clean-up rules. Because the `del' command on DOS-like platforms
|
||||
# cannot take a long list of arguments, we simply erase the directory
|
||||
# contents.
|
||||
#
|
||||
ifdef DOSLIKE
|
||||
|
||||
ifdef DOSLIKE
|
||||
clean_demo:
|
||||
-del obj\*.$O 2> nul
|
||||
-del $(subst /,\,$(TOP2))\src\*.bak 2> nul
|
||||
clean_demo:
|
||||
-del obj\*.$O 2> nul
|
||||
-del $(subst /,\,$(TOP2))\src\*.bak 2> nul
|
||||
|
||||
distclean_demo: clean_demo
|
||||
-del obj\*.lib 2> nul
|
||||
-del bin\*.exe 2> nul
|
||||
else
|
||||
distclean_demo: clean_demo
|
||||
-del obj\*.lib 2> nul
|
||||
-del bin\*.exe 2> nul
|
||||
|
||||
clean_demo:
|
||||
-$(DELETE) $(OBJ_)*.$O
|
||||
-$(DELETE) $(SRC_)*.bak graph$(SEP)*.bak
|
||||
-$(DELETE) $(SRC_)*~ graph$(SEP)*~
|
||||
else
|
||||
|
||||
distclean_demo: clean_demo
|
||||
-$(DELETE) $(EXES:%=$(BIN_)%$E)
|
||||
-$(DELETE) $(GRAPH_LIB)
|
||||
endif
|
||||
clean_demo:
|
||||
-$(DELETE) $(OBJ_)*.$O
|
||||
-$(DELETE) $(SRC_)*.bak graph$(SEP)*.bak
|
||||
-$(DELETE) $(SRC_)*~ graph$(SEP)*~
|
||||
|
||||
clean: clean_demo
|
||||
distclean: distclean_demo
|
||||
distclean_demo: clean_demo
|
||||
-$(DELETE) $(EXES:%=$(BIN_)%$E)
|
||||
-$(DELETE) $(GRAPH_LIB)
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Compute the executable suffix to use, and put it in `E'.
|
||||
# It is ".exe" on DOS-ish platforms, and nothing otherwise
|
||||
#
|
||||
ifdef DOSLIKE
|
||||
E := .exe
|
||||
else
|
||||
E :=
|
||||
endif
|
||||
endif
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# The list of demonstration programs to build.
|
||||
#
|
||||
EXES := ftlint ftview fttimer
|
||||
clean: clean_demo
|
||||
distclean: distclean_demo
|
||||
|
||||
ifneq ($(findstring $(PLATFORM),os2 unix),)
|
||||
EXES += ttdebug
|
||||
endif
|
||||
####################################################################
|
||||
#
|
||||
# Compute the executable suffix to use, and put it in `E'.
|
||||
# It is ".exe" on DOS-ish platforms, and nothing otherwise.
|
||||
#
|
||||
ifdef DOSLIKE
|
||||
E := .exe
|
||||
else
|
||||
E :=
|
||||
endif
|
||||
|
||||
exes: $(EXES:%=$(BIN_)%$E)
|
||||
###################################################################
|
||||
#
|
||||
# The list of demonstration programs to build.
|
||||
#
|
||||
EXES := ftlint ftview fttimer
|
||||
|
||||
ifneq ($(findstring $(PLATFORM),os2 unix),)
|
||||
EXES += ttdebug
|
||||
endif
|
||||
|
||||
exes: $(EXES:%=$(BIN_)%$E)
|
||||
|
||||
|
||||
INCLUDES := $(FT_INCLUDES)
|
||||
INCLUDES := $(FT_INCLUDES)
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Rules for compiling object files for text-only demos
|
||||
#
|
||||
|
||||
COMMON_OBJ := $(OBJ_)common.$O
|
||||
$(COMMON_OBJ): $(SRC_DIR_)common.c
|
||||
ifdef DOSLIKE
|
||||
$(COMPILE) $T$@ $< $DEXPAND_WILDCARDS
|
||||
else
|
||||
$(COMPILE) $T$@ $<
|
||||
endif
|
||||
####################################################################
|
||||
#
|
||||
# Rules for compiling object files for text-only demos
|
||||
#
|
||||
COMMON_OBJ := $(OBJ_)common.$O
|
||||
$(COMMON_OBJ): $(SRC_DIR_)common.c
|
||||
ifdef DOSLIKE
|
||||
$(COMPILE) $T$@ $< $DEXPAND_WILDCARDS
|
||||
else
|
||||
$(COMPILE) $T$@ $<
|
||||
endif
|
||||
|
||||
|
||||
$(OBJ_)%.$O: $(SRC_DIR_)%.c $(FTLIB)
|
||||
$(COMPILE) $T$@ $<
|
||||
$(OBJ_)%.$O: $(SRC_DIR_)%.c $(FTLIB)
|
||||
$(COMPILE) $T$@ $<
|
||||
|
||||
$(OBJ_)ftlint.$O: $(SRC_DIR_)ftlint.c
|
||||
$(COMPILE) $T$@ $<
|
||||
$(OBJ_)ftlint.$O: $(SRC_DIR_)ftlint.c
|
||||
$(COMPILE) $T$@ $<
|
||||
|
||||
$(OBJ_)fttry.$O: $(SRC_DIR_)fttry.c
|
||||
$(COMPILE) $T$@ $<
|
||||
$(OBJ_)fttry.$O: $(SRC_DIR_)fttry.c
|
||||
$(COMPILE) $T$@ $<
|
||||
|
||||
|
||||
$(OBJ_)ftview.$O: $(SRC_DIR_)ftview.c $(GRAPH_LIB)
|
||||
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) $T$@ $<
|
||||
$(OBJ_)ftview.$O: $(SRC_DIR_)ftview.c $(GRAPH_LIB)
|
||||
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) $T$@ $<
|
||||
|
||||
$(OBJ_)fttimer.$O: $(SRC_DIR_)fttimer.c $(GRAPH_LIB)
|
||||
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) $T$@ $<
|
||||
$(OBJ_)fttimer.$O: $(SRC_DIR_)fttimer.c $(GRAPH_LIB)
|
||||
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) $T$@ $<
|
||||
|
||||
#$(OBJ_)ftsbit.$O: $(SRC_DIR)/ftsbit.c $(GRAPH_LIB)
|
||||
# $(COMPILE) $T$@ $<
|
||||
# $(OBJ_)ftsbit.$O: $(SRC_DIR)/ftsbit.c $(GRAPH_LIB)
|
||||
# $(COMPILE) $T$@ $<
|
||||
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Special rule to compile the `t1dump' program as it includes
|
||||
# the Type1 source path
|
||||
#
|
||||
$(OBJ_)t1dump.$O: $(SRC_DIR)/t1dump.c
|
||||
$(COMPILE) $(T1_INCLUDES:%=$I%) $T$@ $<
|
||||
####################################################################
|
||||
#
|
||||
# Special rule to compile the `t1dump' program as it includes
|
||||
# the Type1 source path
|
||||
#
|
||||
$(OBJ_)t1dump.$O: $(SRC_DIR)/t1dump.c
|
||||
$(COMPILE) $(T1_INCLUDES:%=$I%) $T$@ $<
|
||||
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Special rule to compile the `ttdebug' program as it includes
|
||||
# the TrueType source path and needs extra flags for correct keyboard
|
||||
# handling on Unix
|
||||
#
|
||||
####################################################################
|
||||
#
|
||||
# Special rule to compile the `ttdebug' program as it includes
|
||||
# the TrueType source path and needs extra flags for correct keyboard
|
||||
# handling on Unix
|
||||
|
||||
# POSIX TERMIOS: Do not define if you use OLD U*ix like 4.2BSD.
|
||||
#
|
||||
# detect a Unix system
|
||||
ifeq ($(PLATFORM),unix)
|
||||
EXTRAFLAGS = $DUNIX $DHAVE_POSIX_TERMIOS
|
||||
endif
|
||||
# POSIX TERMIOS: Do not define if you use OLD U*ix like 4.2BSD.
|
||||
#
|
||||
# detect a Unix system
|
||||
ifeq ($(PLATFORM),unix)
|
||||
EXTRAFLAGS = $DUNIX $DHAVE_POSIX_TERMIOS
|
||||
endif
|
||||
|
||||
$(OBJ_)ttdebug.$O: $(SRC_DIR)/ttdebug.c
|
||||
$(COMPILE) $(TT_INCLUDES:%=$I%) $T$@ $< $(EXTRAFLAGS)
|
||||
$(OBJ_)ttdebug.$O: $(SRC_DIR)/ttdebug.c
|
||||
$(COMPILE) $(TT_INCLUDES:%=$I%) $T$@ $< $(EXTRAFLAGS)
|
||||
|
||||
|
||||
####################################################################
|
||||
#
|
||||
# Rules used to link the executables. Note that they could be
|
||||
# over-ridden by system-specific things..
|
||||
#
|
||||
####################################################################
|
||||
#
|
||||
# Rules used to link the executables. Note that they could be
|
||||
# over-ridden by system-specific things..
|
||||
#
|
||||
$(BIN_)ftlint$E: $(OBJ_)ftlint.$O $(FTLIB) $(COMMON_OBJ)
|
||||
$(COMMON_LINK)
|
||||
|
||||
$(BIN_)ftlint$E: $(OBJ_)ftlint.$O $(FTLIB) $(COMMON_OBJ)
|
||||
$(COMMON_LINK)
|
||||
$(BIN_)fttry$E: $(OBJ_)fttry.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
$(BIN_)ftsbit$E: $(OBJ_)ftsbit.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
$(BIN_)t1dump$E: $(OBJ_)t1dump.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
$(BIN_)ttdebug$E: $(OBJ_)ttdebug.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
|
||||
$(BIN_)fttry$E: $(OBJ_)fttry.$O $(FTLIB)
|
||||
$(LINK)
|
||||
$(BIN_)ftview$E: $(OBJ_)ftview.$O $(FTLIB) $(GRAPH_LIB) $(COMMON_OBJ)
|
||||
$(GRAPH_LINK)
|
||||
|
||||
|
||||
$(BIN_)ftsbit$E: $(OBJ_)ftsbit.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
|
||||
$(BIN_)t1dump$E: $(OBJ_)t1dump.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
$(BIN_)ttdebug$E: $(OBJ_)ttdebug.$O $(FTLIB)
|
||||
$(LINK)
|
||||
|
||||
|
||||
$(BIN_)ftview$E: $(OBJ_)ftview.$O $(FTLIB) $(GRAPH_LIB) $(COMMON_OBJ)
|
||||
$(GRAPH_LINK)
|
||||
|
||||
$(BIN_)fttimer$E: $(OBJ_)fttimer.$O $(FTLIB) $(GRAPH_LIB) $(COMMON_OBJ)
|
||||
$(GRAPH_LINK)
|
||||
$(BIN_)fttimer$E: $(OBJ_)fttimer.$O $(FTLIB) $(GRAPH_LIB) $(COMMON_OBJ)
|
||||
$(GRAPH_LINK)
|
||||
|
||||
endif
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -13,23 +13,21 @@
|
|||
# the current path.
|
||||
#
|
||||
ifneq ($(findstring X11R6$(SEP)bin,$(PATH)),)
|
||||
xversion := X11R6
|
||||
xversion := X11R6
|
||||
else
|
||||
|
||||
ifneq ($(findstring X11R5$(SEP)bin,$(PATH)),)
|
||||
xversion := X11R5
|
||||
else
|
||||
|
||||
ifneq ($(findstring X11$(SEP)bin,$(PATH)),)
|
||||
xversion := X11
|
||||
endif
|
||||
endif
|
||||
ifneq ($(findstring X11R5$(SEP)bin,$(PATH)),)
|
||||
xversion := X11R5
|
||||
else
|
||||
ifneq ($(findstring X11$(SEP)bin,$(PATH)),)
|
||||
xversion := X11
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef xversion
|
||||
X11_PATH := $(subst ;, ,$(PATH)) $(subst :, ,$(PATH))
|
||||
X11_PATH := $(filter %$(xversion)$(SEP)bin,$(X11_PATH))
|
||||
X11_PATH := $(X11_PATH:%$(SEP)bin=%)
|
||||
X11_PATH := $(subst ;, ,$(PATH)) $(subst :, ,$(PATH))
|
||||
X11_PATH := $(filter %$(xversion)$(SEP)bin,$(X11_PATH))
|
||||
X11_PATH := $(X11_PATH:%$(SEP)bin=%)
|
||||
endif
|
||||
|
||||
##########################################################################
|
||||
|
@ -41,41 +39,38 @@ endif
|
|||
#
|
||||
ifneq ($(X11_PATH),)
|
||||
|
||||
X11_INCLUDE := $(X11_PATH:%=%$(SEP)include)
|
||||
X11_LIB := $(X11_PATH:%=%$(SEP)lib)
|
||||
X11_INCLUDE := $(X11_PATH:%=%$(SEP)include)
|
||||
X11_LIB := $(X11_PATH:%=%$(SEP)lib)
|
||||
|
||||
# the GRAPH_LINK variable is expanded each time an executable is linked against
|
||||
# the graphics library..
|
||||
#
|
||||
GRAPH_LINK += -L$(X11_LIB) -lX11
|
||||
# the GRAPH_LINK variable is expanded each time an executable is linked
|
||||
# against the graphics library.
|
||||
#
|
||||
GRAPH_LINK += $(X11_LIB:%=-L%) -lX11
|
||||
|
||||
# Solaris needs a -lsocket in GRAPH_LINK ..
|
||||
#
|
||||
UNAME := $(shell uname)
|
||||
ifneq ($(findstring $(UNAME),SunOS Solaris),)
|
||||
GRAPH_LINK += -lsocket
|
||||
# Solaris needs a -lsocket in GRAPH_LINK ..
|
||||
#
|
||||
UNAME := $(shell uname)
|
||||
ifneq ($(findstring $(UNAME),SunOS Solaris),)
|
||||
GRAPH_LINK += -lsocket
|
||||
endif
|
||||
|
||||
|
||||
# add the X11 driver object file to the graphics library
|
||||
#
|
||||
GRAPH_OBJS += $(OBJ_)grx11.$O
|
||||
|
||||
|
||||
GR_X11 := $(GRAPH_)x11
|
||||
GR_X11_ := $(GR_X11)$(SEP)
|
||||
|
||||
DEVICES += X11
|
||||
DEVICE_INCLUDES += $(GR_X11)
|
||||
|
||||
# the rule used to compile the X11 driver
|
||||
#
|
||||
$(OBJ_)grx11.$O: $(GR_X11_)grx11.c $(GR_X11_)grx11.h
|
||||
$(CC) $(CFLAGS) $(GRAPH_INCLUDES:%=$I%) $I$(GR_X11) \
|
||||
$(X11_INCLUDE:%=$I%) $T$@ $<
|
||||
endif
|
||||
|
||||
|
||||
# add the X11 driver object file to the graphics library
|
||||
#
|
||||
GRAPH_OBJS += $(OBJ_)grx11.$O
|
||||
|
||||
|
||||
|
||||
GR_X11 := $(GRAPH_)x11
|
||||
GR_X11_ := $(GR_X11)$(SEP)
|
||||
|
||||
DEVICES += X11
|
||||
DEVICE_INCLUDES += $(GR_X11)
|
||||
|
||||
# the rule used to compile the X11 driver
|
||||
#
|
||||
$(OBJ_)grx11.$O: $(GR_X11_)grx11.c $(GR_X11_)grx11.h
|
||||
$(CC) $(CFLAGS) $(GRAPH_INCLUDES:%=$I%) $I$(GR_X11) \
|
||||
$(X11_INCLUDE:%=$I%) $T$@ $<
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -44,7 +44,7 @@ typedef enum FT_Frame_Op_
|
|||
ft_frame_uoff3_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 0, 0 ),
|
||||
ft_frame_uoff3_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 0, 1 ),
|
||||
ft_frame_off3_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 1, 0 ),
|
||||
ft_frame_off3_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 1, 1 ),
|
||||
ft_frame_off3_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 1, 1 )
|
||||
|
||||
} FT_Frame_Op;
|
||||
|
||||
|
|
|
@ -1,98 +1,61 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* Base layer Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 base layer configuration rules
|
||||
#
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
#* *
|
||||
#* IMPORTANT NOTE: This Makefile is intended for GNU Make! *
|
||||
#* If you provide Makefiles for other make utilities, *
|
||||
#* please place them in `freetype/lib/arch/<system>.' *
|
||||
#* *
|
||||
#* *
|
||||
#* This file is to be included by the root FreeType sub-Makefile, usually *
|
||||
#* named `freetype/lib/Makefile.lib.' Here is the list of the variables *
|
||||
#* that must be defined to use it: *
|
||||
#* *
|
||||
#* BASE_DIR: The location of the base layer's directory. This is *
|
||||
#* usually `freetype/lib/base.' *
|
||||
#* *
|
||||
#* ARCH_DIR: The location of the architecture-dependent directory. *
|
||||
#* This is usually `freetype/lib/arch/<system>.' *
|
||||
#* *
|
||||
#* OBJ_DIR: The location where the compiled object(s) file will be *
|
||||
#* placed. *
|
||||
#* *
|
||||
#* FT_CFLAGS: A set of flags used for compilation of object files. *
|
||||
#* This contains at least the include paths of the `arch' *
|
||||
#* and `base' directories + optimization + warnings + *
|
||||
#* ANSI compliance. *
|
||||
#* *
|
||||
#* FT_IFLAGS: The flag used to specify an include path on the compiler *
|
||||
#* command line. For example, with GCC, this is `-I', while *
|
||||
#* some other compilers use `/i=' or `-J', etc. *
|
||||
#* *
|
||||
#* FT_OBJ: The suffix of an object file for the platform. Can be *
|
||||
#* `o', `obj', `coff', `tco', etc. *
|
||||
#* *
|
||||
#* FT_CC: The C compiler to use. *
|
||||
#* *
|
||||
#* *
|
||||
#* It sets the following variables, which are used by the parent Makefile *
|
||||
#* after the call: *
|
||||
#* *
|
||||
#* BASE_H: The list of base layer header files on which the rest *
|
||||
#* of the library (i.e., drivers) rely. *
|
||||
#* *
|
||||
#* BASE_OBJ_S: The single-object base layer. *
|
||||
#* BASE_OBJ_M: A list of all objects for a multiple-objects build. *
|
||||
#* BASE_EXT_OBJ: A list of base layer extensions, i.e., components *
|
||||
#* found in `freetype/lib/base' which are not compiled *
|
||||
#* within the base layer proper. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
# It sets the following variables, which are used by the master Makefile
|
||||
# after the call:
|
||||
#
|
||||
# BASE_H: The list of base layer header files on which the rest
|
||||
# of the library (i.e., drivers) rely.
|
||||
#
|
||||
# BASE_OBJ_S: The single-object base layer.
|
||||
# BASE_OBJ_M: A list of all objects for a multiple-objects build.
|
||||
# BASE_EXT_OBJ: A list of base layer extensions, i.e., components found
|
||||
# in `freetype/lib/base' which are not compiled within the
|
||||
# base layer proper.
|
||||
|
||||
INCLUDES += $(SRC_)base
|
||||
|
||||
# Base layer sources
|
||||
#
|
||||
BASE_SRC := $(BASE_)ftstream.c \
|
||||
$(BASE_)ftcalc.c \
|
||||
$(BASE_)ftobjs.c \
|
||||
BASE_SRC := $(BASE_)ftcalc.c \
|
||||
$(BASE_)ftextend.c \
|
||||
$(BASE_)ftlist.c
|
||||
$(BASE_)ftlist.c \
|
||||
$(BASE_)ftobjs.c \
|
||||
$(BASE_)ftstream.c
|
||||
|
||||
# Base layer headers
|
||||
#
|
||||
BASE_H := $(BASE_)ftcalc.h \
|
||||
$(BASE_)ftobjs.h \
|
||||
$(BASE_)ftdebug.h \
|
||||
$(BASE_)ftdriver.h \
|
||||
$(BASE_)ftextend.h \
|
||||
$(BASE_)ftlist.h
|
||||
$(BASE_)ftlist.h \
|
||||
$(BASE_)ftobjs.h \
|
||||
$(BASE_)ftstream.h
|
||||
|
||||
|
||||
# Base layer `extensions' sources
|
||||
#
|
||||
# An extension is added to the library file (.a or .lib) as a separate
|
||||
# object. It will then be linked to the final executable only if one of
|
||||
# its symbols is used by the application.
|
||||
# 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_)ftbbox.c \
|
||||
$(BASE_)ftraster.c \
|
||||
$(BASE_)ftoutln.c
|
||||
|
||||
|
||||
# Base layer extensions headers
|
||||
#
|
||||
BASE_EXT_H := $(BASE_EXT_SRC:%c=%h)
|
||||
|
@ -100,11 +63,11 @@ BASE_EXT_H := $(BASE_EXT_SRC:%c=%h)
|
|||
|
||||
# Base layer object(s)
|
||||
#
|
||||
# BASE_OBJ_M is used during `multi' builds (each base source file
|
||||
# compiles to a single object file).
|
||||
# BASE_OBJ_M is used during `multi' builds (each base source file compiles
|
||||
# to a single object file).
|
||||
#
|
||||
# BASE_OBJ_S is used during `single' builds (the whole base layer
|
||||
# is compiled as a single object file using ftbase.c).
|
||||
# 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
|
||||
|
@ -132,5 +95,4 @@ $(OBJ_)ft%.$O: $(BASE_)ft%.c $(PUBLIC_H) $(BASE_H)
|
|||
$(BASE_OBJ_S): $(PUBLIC_H) $(BASE_H) $(BASE_SRC_S) $(BASE_SRC)
|
||||
$(FT_COMPILE) $T$@ $(BASE_SRC_S)
|
||||
|
||||
|
||||
# END
|
||||
# EOF
|
||||
|
|
|
@ -2,5 +2,6 @@ make_module_list: add_psnames_driver
|
|||
|
||||
add_psnames_driver:
|
||||
$(OPEN_DRIVER)psnames_driver_interface$(CLOSE_DRIVER)
|
||||
$(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC) Postscript & Unicode Glyph name handling $(ECHO_DRIVER_DONE)
|
||||
$(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE)
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,89 +1,90 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* PSNames driver Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-2000 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. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 PSNames driver configuration rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef PSNAMES_INCLUDE
|
||||
PSNAMES_INCLUDED := 1
|
||||
PSNAMES_INCLUDED := 1
|
||||
|
||||
include $(SRC_)shared/rules.mk
|
||||
include $(SRC_)shared/rules.mk
|
||||
|
||||
# PSNAMES driver directory
|
||||
#
|
||||
PSNAMES_DIR := $(SRC_)psnames
|
||||
PSNAMES_DIR_ := $(PSNAMES_DIR)$(SEP)
|
||||
# PSNAMES driver directory
|
||||
#
|
||||
PSNAMES_DIR := $(SRC_)psnames
|
||||
PSNAMES_DIR_ := $(PSNAMES_DIR)$(SEP)
|
||||
|
||||
# additional include flags used when compiling the driver
|
||||
#
|
||||
PSNAMES_INCLUDE := $(SHARED) $(PSNAMES_DIR)
|
||||
# additional include flags used when compiling the driver
|
||||
#
|
||||
PSNAMES_INCLUDE := $(SHARED) $(PSNAMES_DIR)
|
||||
|
||||
|
||||
# compilation flags for the driver
|
||||
#
|
||||
PSNAMES_CFLAGS := $(PSNAMES_INCLUDE:%=$I%)
|
||||
PSNAMES_COMPILE := $(FT_COMPILE) $(PSNAMES_CFLAGS)
|
||||
# compilation flags for the driver
|
||||
#
|
||||
PSNAMES_CFLAGS := $(PSNAMES_INCLUDE:%=$I%)
|
||||
PSNAMES_COMPILE := $(FT_COMPILE) $(PSNAMES_CFLAGS)
|
||||
|
||||
|
||||
# TrueType driver sources (i.e., C files)
|
||||
#
|
||||
PSNAMES_DRV_SRC := $(PSNAMES_DIR_)psdriver.c
|
||||
# driver sources (i.e., C files)
|
||||
#
|
||||
PSNAMES_DRV_SRC := $(PSNAMES_DIR_)psdriver.c
|
||||
|
||||
|
||||
# TrueType driver headers
|
||||
#
|
||||
PSNAMES_DRV_H := $(SHARED_H) \
|
||||
$(PSNAMES_DIR_)psdriver.h \
|
||||
$(PSNAMES_DIR_)pstables.h
|
||||
# driver headers
|
||||
#
|
||||
PSNAMES_DRV_H := $(SHARED_H) \
|
||||
$(PSNAMES_DIR_)psdriver.h \
|
||||
$(PSNAMES_DIR_)pstables.h
|
||||
|
||||
|
||||
# driver object(s)
|
||||
#
|
||||
# PSNAMES_DRV_OBJ_M is used during `debug' builds
|
||||
# PSNAMES_DRV_OBJ_S is used during `release' builds
|
||||
#
|
||||
PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR_)%.c=$(OBJ_)%.$O)
|
||||
PSNAMES_DRV_OBJ_S := $(OBJ_)psnames.$O
|
||||
# driver object(s)
|
||||
#
|
||||
# PSNAMES_DRV_OBJ_M is used during `debug' builds
|
||||
# PSNAMES_DRV_OBJ_S is used during `release' builds
|
||||
#
|
||||
PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR_)%.c=$(OBJ_)%.$O)
|
||||
PSNAMES_DRV_OBJ_S := $(OBJ_)psnames.$O
|
||||
|
||||
|
||||
# driver root source file(s)
|
||||
#
|
||||
PSNAMES_DRV_SRC_M := $(PSNAMES_DRV_SRC)
|
||||
PSNAMES_DRV_SRC_S := $(PSNAMES_DIR_)psdriver.c
|
||||
# driver source file(s)
|
||||
#
|
||||
PSNAMES_DRV_SRC_M := $(PSNAMES_DRV_SRC)
|
||||
PSNAMES_DRV_SRC_S := $(PSNAMES_DIR_)psdriver.c
|
||||
|
||||
|
||||
# driver - single object
|
||||
#
|
||||
# the driver is recompiled if any of the header or source files is changed
|
||||
# as well as any of the shared source files found in `shared/sfnt'
|
||||
#
|
||||
$(PSNAMES_DRV_OBJ_S): $(BASE_H) $(SHARED_H) $(PSNAMES_DRV_H) $(PSNAMES_DRV_SRC) $(PSNAMES_DRV_SRC_S)
|
||||
$(PSNAMES_COMPILE) $T$@ $(PSNAMES_DRV_SRC_S)
|
||||
# driver - single object
|
||||
#
|
||||
# the driver is recompiled if any of the header or source files is
|
||||
# changed as well as any of the shared source files found in
|
||||
# `shared'
|
||||
#
|
||||
$(PSNAMES_DRV_OBJ_S): $(BASE_H) $(SHARED_H) $(PSNAMES_DRV_H) \
|
||||
$(PSNAMES_DRV_SRC) $(PSNAMES_DRV_SRC_S)
|
||||
$(PSNAMES_COMPILE) $T$@ $(PSNAMES_DRV_SRC_S)
|
||||
|
||||
|
||||
|
||||
# driver - multiple objects
|
||||
#
|
||||
# All objects are recompiled if any of the header files is changed
|
||||
#
|
||||
$(OBJ_)ps%.$O: $(PSNAMES_DIR_)ps%.c $(BASE_H) $(SHARED_H) $(PSNAMES_DRV_H)
|
||||
$(PSNAMES_COMPILE) $T$@ $<
|
||||
# driver - multiple objects
|
||||
#
|
||||
# All objects are recompiled if any of the header files is changed.
|
||||
#
|
||||
$(OBJ_)ps%.$O: $(PSNAMES_DIR_)ps%.c $(BASE_H) $(SHARED_H) $(PSNAMES_DRV_H)
|
||||
$(PSNAMES_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# update main driver object lists
|
||||
#
|
||||
DRV_OBJS_S += $(PSNAMES_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(PSNAMES_DRV_OBJ_M)
|
||||
# update main driver object lists
|
||||
#
|
||||
DRV_OBJS_S += $(PSNAMES_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(PSNAMES_DRV_OBJ_M)
|
||||
|
||||
endif
|
||||
# END
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -2,5 +2,6 @@ make_module_list: add_sfnt_driver
|
|||
|
||||
add_sfnt_driver:
|
||||
$(OPEN_DRIVER)sfnt_driver_interface$(CLOSE_DRIVER)
|
||||
$(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC) pseudo-driver for TrueType & OpenType formats $(ECHO_DRIVER_DONE)
|
||||
$(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)pseudo-driver for TrueType & OpenType formats$(ECHO_DRIVER_DONE)
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,165 +1,100 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* SFNT driver Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 DFNT driver configuration rules
|
||||
#
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
#* *
|
||||
#* IMPORTANT NOTE: This Makefile is intended for GNU Make! *
|
||||
#* If you provide Makefiles for other make utilities, *
|
||||
#* please place them in `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* *
|
||||
#* This file is to be included by the FreeType Makefile.lib, located in *
|
||||
#* the `freetype/lib' directory. Here is the list of the variables that *
|
||||
#* must be defined to use it: *
|
||||
#* *
|
||||
#* *
|
||||
#* BASE_DIR: The location of the base layer's directory. This is *
|
||||
#* usually `freetype/lib/base'. *
|
||||
#* *
|
||||
#* ARCH_DIR: The location of the architecture-dependent directory. *
|
||||
#* This is usually `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* DRIVERS_DIR: The location of the font driver sub-dirs, usually *
|
||||
#* `freetype/lib/drivers'. *
|
||||
#* *
|
||||
#* OBJ_DIR: The location where the compiled object(s) file will be *
|
||||
#* placed. *
|
||||
#* *
|
||||
#* BASE_H: A list of pathnames to the base layer's header files on *
|
||||
#* which the driver depends. *
|
||||
#* *
|
||||
#* FT_CFLAGS: A set of flags used for compilation of object files. *
|
||||
#* This contains at least the include paths of the arch *
|
||||
#* and base directories + optimization + warnings + ANSI *
|
||||
#* compliance. *
|
||||
#* *
|
||||
#* FT_IFLAG: The flag used to specify an include path on the *
|
||||
#* compiler command line. For example, with GCC, this is *
|
||||
#* `-I', while some other compilers use `/i=' or `-J', *
|
||||
#* etc. *
|
||||
#* *
|
||||
#* FT_OBJ: The suffix of an object file for the platform; can be *
|
||||
#* `o', `obj', `coff', `tco', etc. depending on the *
|
||||
#* platform. *
|
||||
#* *
|
||||
#* *
|
||||
#* It also updates the following variables defined and used in the main *
|
||||
#* Makefile: *
|
||||
#* *
|
||||
#* DRV_OBJ_S: The list of driver object files in *
|
||||
#* single-object mode. *
|
||||
#* *
|
||||
#* DRV_OBJ_M: The list of driver object files in *
|
||||
#* multiple-objects mode. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_PATHS: The list of include paths used to compile the *
|
||||
#* `ftinit' component which registers all font *
|
||||
#* drivers in the FT_Init_FreeType() function. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_H: The list of header dependencies used to *
|
||||
#* compile the `ftinit' component. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_MACROS: The list of macros to be defined when *
|
||||
#* compiling the `ftinit' component. *
|
||||
#* *
|
||||
#* `Single-object compilation' means that each font driver is compiled *
|
||||
#* into a single object file. This is useful to get rid of all *
|
||||
#* driver-specific entries. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef SFNT_INCLUDE
|
||||
SFNT_INCLUDED := 1
|
||||
SFNT_INCLUDED := 1
|
||||
|
||||
include $(SRC_)shared/rules.mk
|
||||
include $(SRC_)shared/rules.mk
|
||||
|
||||
# SFNT driver directory
|
||||
#
|
||||
SFNT_DIR := $(SRC_)sfnt
|
||||
SFNT_DIR_ := $(SFNT_DIR)$(SEP)
|
||||
# SFNT driver directory
|
||||
#
|
||||
SFNT_DIR := $(SRC_)sfnt
|
||||
SFNT_DIR_ := $(SFNT_DIR)$(SEP)
|
||||
|
||||
# additional include flags used when compiling the driver
|
||||
#
|
||||
SFNT_INCLUDE := $(SHARED) $(SFNT_DIR)
|
||||
# additional include flags used when compiling the driver
|
||||
#
|
||||
SFNT_INCLUDE := $(SHARED) $(SFNT_DIR)
|
||||
|
||||
|
||||
# compilation flags for the driver
|
||||
#
|
||||
SFNT_CFLAGS := $(SFNT_INCLUDE:%=$I%)
|
||||
SFNT_COMPILE := $(FT_COMPILE) $(SFNT_CFLAGS)
|
||||
# compilation flags for the driver
|
||||
#
|
||||
SFNT_CFLAGS := $(SFNT_INCLUDE:%=$I%)
|
||||
SFNT_COMPILE := $(FT_COMPILE) $(SFNT_CFLAGS)
|
||||
|
||||
|
||||
# TrueType driver sources (i.e., C files)
|
||||
#
|
||||
SFNT_DRV_SRC := $(SFNT_DIR_)ttload.c \
|
||||
$(SFNT_DIR_)ttcmap.c \
|
||||
$(SFNT_DIR_)ttsbit.c \
|
||||
$(SFNT_DIR_)ttpost.c \
|
||||
$(SFNT_DIR_)sfdriver.c \
|
||||
# driver sources (i.e., C files)
|
||||
#
|
||||
SFNT_DRV_SRC := $(SFNT_DIR_)ttload.c \
|
||||
$(SFNT_DIR_)ttcmap.c \
|
||||
$(SFNT_DIR_)ttsbit.c \
|
||||
$(SFNT_DIR_)ttpost.c \
|
||||
$(SFNT_DIR_)sfdriver.c
|
||||
|
||||
|
||||
# TrueType driver headers
|
||||
#
|
||||
SFNT_DRV_H := $(SHARED_H) \
|
||||
$(SFNT_DIR_)sfconfig.h \
|
||||
$(SFNT_DIR_)ttload.h \
|
||||
$(SFNT_DIR_)ttsbit.h \
|
||||
$(SFNT_DIR_)ttcmap.h \
|
||||
$(SFNT_DIR_)ttpost.h
|
||||
# driver headers
|
||||
#
|
||||
SFNT_DRV_H := $(SHARED_H) \
|
||||
$(SFNT_DIR_)sfconfig.h \
|
||||
$(SFNT_DIR_)ttload.h \
|
||||
$(SFNT_DIR_)ttsbit.h \
|
||||
$(SFNT_DIR_)ttcmap.h \
|
||||
$(SFNT_DIR_)ttpost.h
|
||||
|
||||
|
||||
# driver object(s)
|
||||
#
|
||||
# SFNT_DRV_OBJ_M is used during `debug' builds
|
||||
# SFNT_DRV_OBJ_S is used during `release' builds
|
||||
#
|
||||
SFNT_DRV_OBJ_M := $(SFNT_DRV_SRC:$(SFNT_DIR_)%.c=$(OBJ_)%.$O)
|
||||
SFNT_DRV_OBJ_S := $(OBJ_)sfnt.$O
|
||||
# driver object(s)
|
||||
#
|
||||
# SFNT_DRV_OBJ_M is used during `debug' builds
|
||||
# SFNT_DRV_OBJ_S is used during `release' builds
|
||||
#
|
||||
SFNT_DRV_OBJ_M := $(SFNT_DRV_SRC:$(SFNT_DIR_)%.c=$(OBJ_)%.$O)
|
||||
SFNT_DRV_OBJ_S := $(OBJ_)sfnt.$O
|
||||
|
||||
|
||||
# driver root source file(s)
|
||||
#
|
||||
SFNT_DRV_SRC_M := $(SFNT_DRV_SRC)
|
||||
SFNT_DRV_SRC_S := $(SFNT_DIR_)sfnt.c
|
||||
# driver source file(s)
|
||||
#
|
||||
SFNT_DRV_SRC_M := $(SFNT_DRV_SRC)
|
||||
SFNT_DRV_SRC_S := $(SFNT_DIR_)sfnt.c
|
||||
|
||||
|
||||
# driver - single object
|
||||
#
|
||||
# the driver is recompiled if any of the header or source files is changed
|
||||
# as well as any of the shared source files found in `shared/sfnt'
|
||||
#
|
||||
$(SFNT_DRV_OBJ_S): $(BASE_H) $(SHARED_H) $(SFNT_DRV_H) $(SFNT_DRV_SRC) $(SFNT_DRV_SRC_S)
|
||||
$(SFNT_COMPILE) $T$@ $(SFNT_DRV_SRC_S)
|
||||
# driver - single object
|
||||
#
|
||||
# the driver is recompiled if any of the header or source files is
|
||||
# changed as well as any of the shared source files found in
|
||||
# `shared'
|
||||
#
|
||||
$(SFNT_DRV_OBJ_S): $(BASE_H) $(SHARED_H) $(SFNT_DRV_H) \
|
||||
$(SFNT_DRV_SRC) $(SFNT_DRV_SRC_S)
|
||||
$(SFNT_COMPILE) $T$@ $(SFNT_DRV_SRC_S)
|
||||
|
||||
|
||||
# driver - multiple objects
|
||||
#
|
||||
# All objects are recompiled if any of the header files is changed
|
||||
#
|
||||
$(OBJ_)tt%.$O: $(SFNT_DIR_)tt%.c $(BASE_H) $(SHARED_H) $(SFNT_DRV_H)
|
||||
$(SFNT_COMPILE) $T$@ $<
|
||||
|
||||
# driver - multiple objects
|
||||
#
|
||||
# All objects are recompiled if any of the header files is changed
|
||||
#
|
||||
$(OBJ_)tt%.$O: $(SFNT_DIR_)tt%.c $(BASE_H) $(SHARED_H) $(SFNT_DRV_H)
|
||||
$(SFNT_COMPILE) $T$@ $<
|
||||
$(OBJ_)sf%.$O: $(SFNT_DIR_)sf%.c $(BASE_H) $(SHARED_H) $(SFNT_DRV_H)
|
||||
$(SFNT_COMPILE) $T$@ $<
|
||||
|
||||
$(OBJ_)sf%.$O: $(SFNT_DIR_)sf%.c $(BASE_H) $(SHARED_H) $(SFNT_DRV_H)
|
||||
$(SFNT_COMPILE) $T$@ $<
|
||||
|
||||
# update main driver object lists
|
||||
#
|
||||
DRV_OBJS_S += $(SFNT_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(SFNT_DRV_OBJ_M)
|
||||
# update main driver object lists
|
||||
#
|
||||
DRV_OBJS_S += $(SFNT_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(SFNT_DRV_OBJ_M)
|
||||
|
||||
endif
|
||||
# END
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* shared files Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-2000 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. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 shared files configuration rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
ifndef SHARED_RULES
|
||||
SHARED_RULES := 1
|
||||
SHARED_RULES := 1
|
||||
|
||||
SHARED := $(SRC_)shared
|
||||
SHARED_ := $(SHARED)$(SEP)
|
||||
SHARED := $(SRC_)shared
|
||||
SHARED_ := $(SHARED)$(SEP)
|
||||
|
||||
SHARED_H := $(wildcard $(SHARED_)*.h)
|
||||
SHARED_SRC := $(wildcard $(SHARED_)*.c)
|
||||
SHARED_H := $(wildcard $(SHARED_)*.h)
|
||||
SHARED_SRC := $(wildcard $(SHARED_)*.c)
|
||||
|
||||
endif
|
||||
|
||||
# END
|
||||
# EOF
|
||||
|
|
|
@ -2,5 +2,6 @@ make_module_list: add_truetype_driver
|
|||
|
||||
add_truetype_driver:
|
||||
$(OPEN_DRIVER)tt_driver_interface$(CLOSE_DRIVER)
|
||||
$(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC) Windows/Mac font files with extension *.ttf or *.ttc $(ECHO_DRIVER_DONE)
|
||||
$(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE)
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,88 +1,20 @@
|
|||
#****************************************************************************
|
||||
#* *
|
||||
#* TrueType driver Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
#
|
||||
# FreeType 2 PSNames driver configuration rules
|
||||
#
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
#* *
|
||||
#* IMPORTANT NOTE: This Makefile is intended for GNU Make! *
|
||||
#* If you provide Makefiles for other make utilities, *
|
||||
#* please place them in `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* *
|
||||
#* This file is to be included by the FreeType Makefile.lib, located in *
|
||||
#* the `freetype/lib' directory. Here is the list of the variables that *
|
||||
#* must be defined to use it: *
|
||||
#* *
|
||||
#* *
|
||||
#* BASE_DIR: The location of the base layer's directory. This is *
|
||||
#* usually `freetype/lib/base'. *
|
||||
#* *
|
||||
#* ARCH_DIR: The location of the architecture-dependent directory. *
|
||||
#* This is usually `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* DRIVERS_DIR: The location of the font driver sub-dirs, usually *
|
||||
#* `freetype/lib/drivers'. *
|
||||
#* *
|
||||
#* OBJ_DIR: The location where the compiled object(s) file will be *
|
||||
#* placed. *
|
||||
#* *
|
||||
#* BASE_H: A list of pathnames to the base layer's header files on *
|
||||
#* which the driver depends. *
|
||||
#* *
|
||||
#* FT_CFLAGS: A set of flags used for compilation of object files. *
|
||||
#* This contains at least the include paths of the arch *
|
||||
#* and base directories + optimization + warnings + ANSI *
|
||||
#* compliance. *
|
||||
#* *
|
||||
#* FT_IFLAG: The flag used to specify an include path on the *
|
||||
#* compiler command line. For example, with GCC, this is *
|
||||
#* `-I', while some other compilers use `/i=' or `-J', *
|
||||
#* etc. *
|
||||
#* *
|
||||
#* FT_OBJ: The suffix of an object file for the platform; can be *
|
||||
#* `o', `obj', `coff', `tco', etc. depending on the *
|
||||
#* platform. *
|
||||
#* *
|
||||
#* *
|
||||
#* It also updates the following variables defined and used in the main *
|
||||
#* Makefile: *
|
||||
#* *
|
||||
#* DRV_OBJ_S: The list of driver object files in *
|
||||
#* single-object mode. *
|
||||
#* *
|
||||
#* DRV_OBJ_M: The list of driver object files in *
|
||||
#* multiple-objects mode. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_PATHS: The list of include paths used to compile the *
|
||||
#* `ftinit' component which registers all font *
|
||||
#* drivers in the FT_Init_FreeType() function. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_H: The list of header dependencies used to *
|
||||
#* compile the `ftinit' component. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_MACROS: The list of macros to be defined when *
|
||||
#* compiling the `ftinit' component. *
|
||||
#* *
|
||||
#* `Single-object compilation' means that each font driver is compiled *
|
||||
#* into a single object file. This is useful to get rid of all *
|
||||
#* driver-specific entries. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
# include the rules defined for the SFNT driver, which is heavily used
|
||||
# by the TrueType one..
|
||||
|
||||
# Include the rules defined for the SFNT driver, which is heavily used
|
||||
# by the TrueType one.
|
||||
#
|
||||
include $(SRC_)sfnt/rules.mk
|
||||
|
||||
|
@ -109,23 +41,22 @@ TT_CFLAGS := $(TT_INCLUDE:%=$I%)
|
|||
TT_COMPILE := $(FT_COMPILE) $(TT_CFLAGS)
|
||||
|
||||
|
||||
# TrueType driver sources (i.e., C files)
|
||||
# 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_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
|
||||
# driver headers
|
||||
#
|
||||
TT_DRV_H := $(SFNT_H) \
|
||||
$(TT_DIR_)ttconfig.h \
|
||||
TT_DRV_H := $(SFNT_H) \
|
||||
$(TT_DIR_)ttconfig.h \
|
||||
$(TT_DRV_SRC:%.c=%.h)
|
||||
|
||||
|
||||
# default TrueType extensions sources
|
||||
# default extensions sources
|
||||
#
|
||||
TT_EXT_SRC := $(TT_EXT_DIR_)ttxkern.c \
|
||||
$(TT_EXT_DIR_)ttxgasp.c \
|
||||
|
@ -133,8 +64,7 @@ TT_EXT_SRC := $(TT_EXT_DIR_)ttxkern.c \
|
|||
$(TT_EXT_DIR_)ttxcmap.c \
|
||||
$(TT_EXT_DIR_)ttxwidth.c
|
||||
|
||||
|
||||
# default TrueType extensions headers
|
||||
# default extensions headers
|
||||
#
|
||||
TT_EXT_H := $(TT_EXT_SRC:.c=.h)
|
||||
|
||||
|
@ -153,8 +83,7 @@ TT_DRV_OBJ_S := $(OBJ_)truetype.$O
|
|||
TT_EXT_OBJ := $(TT_EXT_SRC:$(TT_EXT_DIR_)%.c=$(OBJ_)%.$O)
|
||||
|
||||
|
||||
|
||||
# driver root source file(s)
|
||||
# driver source file(s)
|
||||
#
|
||||
TT_DRV_SRC_M := $(TT_DRV_SRC) $(SFNT_SRC)
|
||||
TT_DRV_SRC_S := $(TT_DIR_)truetype.c
|
||||
|
@ -184,15 +113,9 @@ $(OBJ_)tt%.$O: $(SFNT_DIR_)tt%.c $(BASE_H) $(SFNT_H)
|
|||
$(TT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# treat `ttpload' as a special case, as it includes C files
|
||||
#
|
||||
$(OBJ_)ttpload.$O: $(TT_DIR_)ttpload.c $(BASE_H) $(SFNT_SRC) $(TT_DRV_H)
|
||||
$(TT_COMPILE) $T$@ $<
|
||||
|
||||
|
||||
# update main driver object lists
|
||||
#
|
||||
DRV_OBJS_S += $(TT_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(TT_DRV_OBJ_M)
|
||||
|
||||
# END
|
||||
# EOF
|
||||
|
|
|
@ -2,5 +2,6 @@ make_module_list: add_type1z_driver
|
|||
|
||||
add_type1z_driver:
|
||||
$(OPEN_DRIVER)t1z_driver_interface$(CLOSE_DRIVER)
|
||||
$(ECHO_DRIVER)type1z $(ECHO_DRIVER_DESC) Postscript font files with extension *.pfa or *.pfb $(ECHO_DRIVER_DONE)
|
||||
$(ECHO_DRIVER)type1z $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE)
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -1,96 +1,31 @@
|
|||
#
|
||||
# FreeType 2 driver configuration rules
|
||||
#
|
||||
|
||||
|
||||
# Copyright 1996-2000 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.
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
#* *
|
||||
#* Type1z driver Makefile *
|
||||
#* *
|
||||
#* Copyright 1996-1999 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. *
|
||||
#* *
|
||||
#* The "Type1z" driver is an experimental replacement for the current *
|
||||
#* Type 1 driver. It features a very different loading mechanism that *
|
||||
#* is much faster than the one used by the "normal" driver, and also *
|
||||
#* deals nicely with nearly broken Type 1 font files.. It is also *
|
||||
#* much smaller.. *
|
||||
#* Type 1 driver. It features a very different loading mechanism that *
|
||||
#* is much faster than the one used by the `normal' driver, and also *
|
||||
#* deals nicely with nearly broken Type 1 font files. It is also *
|
||||
#* much smaller... *
|
||||
#* *
|
||||
#* Note that it may become a permanent replacement of the current *
|
||||
#* "src/type1" driver in the future.. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
#* *
|
||||
#* IMPORTANT NOTE: This Makefile is intended for GNU Make! *
|
||||
#* If you provide Makefiles for other make utilities, *
|
||||
#* please place them in `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* *
|
||||
#* This file is to be included by the FreeType Makefile.lib, located in *
|
||||
#* the `freetype/lib' directory. Here is the list of the variables that *
|
||||
#* must be defined to use it: *
|
||||
#* *
|
||||
#* *
|
||||
#* BASE_DIR: The location of the base layer's directory. This is *
|
||||
#* usually `freetype/lib/base'. *
|
||||
#* *
|
||||
#* ARCH_DIR: The location of the architecture-dependent directory. *
|
||||
#* This is usually `freetype/lib/arch/<system>'. *
|
||||
#* *
|
||||
#* DRIVERS_DIR: The location of the font driver sub-dirs, usually *
|
||||
#* `freetype/lib/drivers'. *
|
||||
#* *
|
||||
#* OBJ_DIR: The location where the compiled object(s) file will be *
|
||||
#* placed. *
|
||||
#* *
|
||||
#* BASE_H: A list of pathnames to the base layer's header files on *
|
||||
#* which the driver depends. *
|
||||
#* *
|
||||
#* FT_CFLAGS: A set of flags used for compilation of object files. *
|
||||
#* This contains at least the include paths of the arch *
|
||||
#* and base directories + optimization + warnings + ANSI *
|
||||
#* compliance. *
|
||||
#* *
|
||||
#* FT_IFLAG: The flag used to specify an include path on the *
|
||||
#* compiler command line. For example, with GCC, this is *
|
||||
#* `-I', while some other compilers use `/i=' or `-J', *
|
||||
#* etc. *
|
||||
#* *
|
||||
#* FT_OBJ: The suffix of an object file for the platform; can be *
|
||||
#* `o', `obj', `coff', `tco', etc. depending on the *
|
||||
#* platform. *
|
||||
#* *
|
||||
#* *
|
||||
#* It also updates the following variables defined and used in the main *
|
||||
#* Makefile: *
|
||||
#* *
|
||||
#* DRV_OBJ_S: The list of driver object files in *
|
||||
#* single-object mode. *
|
||||
#* *
|
||||
#* DRV_OBJ_M: The list of driver object files in *
|
||||
#* multiple-objects mode. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_PATHS: The list of include paths used to compile the *
|
||||
#* `ftinit' component which registers all font *
|
||||
#* drivers in the FT_Init_FreeType() function. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_H: The list of header dependencies used to *
|
||||
#* compile the `ftinit' component. *
|
||||
#* *
|
||||
#* FTINIT_DRIVER_MACROS: The list of macros to be defined when *
|
||||
#* compiling the `ftinit' component. *
|
||||
#* *
|
||||
#* `Single-object compilation' means that each font driver is compiled *
|
||||
#* into a single object file. This is useful to get rid of all *
|
||||
#* driver-specific entries. *
|
||||
#* *
|
||||
#****************************************************************************
|
||||
|
||||
|
||||
# Type1z driver directory
|
||||
#
|
||||
T1Z_DIR := $(SRC_)type1z
|
||||
|
@ -105,18 +40,17 @@ T1Z_COMPILE := $(FT_COMPILE) $(T1Z_INCLUDE:%=$I%)
|
|||
|
||||
# Type1 driver sources (i.e., C files)
|
||||
#
|
||||
T1Z_DRV_SRC := $(T1Z_DIR_)t1parse.c \
|
||||
$(T1Z_DIR_)t1load.c \
|
||||
$(T1Z_DIR_)t1driver.c \
|
||||
$(T1Z_DIR_)t1afm.c \
|
||||
T1Z_DRV_SRC := $(T1Z_DIR_)t1parse.c \
|
||||
$(T1Z_DIR_)t1load.c \
|
||||
$(T1Z_DIR_)t1driver.c \
|
||||
$(T1Z_DIR_)t1afm.c \
|
||||
$(T1Z_DIR_)t1gload.c
|
||||
|
||||
|
||||
# Type1 driver headers
|
||||
#
|
||||
T1Z_DRV_H := $(T1Z_DIR_)t1errors.h \
|
||||
$(T1Z_DIR_)t1config.h \
|
||||
$(T1SHARED_H) \
|
||||
T1Z_DRV_H := $(T1Z_DIR_)t1errors.h \
|
||||
$(T1Z_DIR_)t1config.h \
|
||||
$(T1SHARED_H) \
|
||||
$(T1Z_DRV_SRC:%.c=%.h)
|
||||
|
||||
|
||||
|
@ -130,8 +64,7 @@ T1Z_DRV_OBJ_M := $(T1Z_DRV_SRC:$(T1Z_DIR_)%.c=$(OBJ_)%.$O) \
|
|||
T1Z_DRV_OBJ_S := $(OBJ_)type1z.$O
|
||||
|
||||
|
||||
|
||||
# driver root source file(s)
|
||||
# driver source file(s)
|
||||
#
|
||||
T1Z_DRV_SRC_M := $(T1Z_DRV_SRC) $(T1SHARED_SRC)
|
||||
T1Z_DRV_SRC_S := $(T1Z_DIR_)type1z.c
|
||||
|
@ -145,7 +78,6 @@ $(T1Z_DRV_OBJ_S): $(BASE_H) $(T1Z_DRV_H) $(T1Z_DRV_SRC) $(T1Z_DRV_SRC_S)
|
|||
$(T1Z_COMPILE) $T$@ $(T1Z_DRV_SRC_S)
|
||||
|
||||
|
||||
|
||||
# driver - multiple objects
|
||||
#
|
||||
# All objects are recompiled if any of the header files is changed
|
||||
|
@ -162,4 +94,4 @@ $(OBJ_)t1%.$O: $(T1SHARED_DIR_)t1%.c $(BASE_H) $(T1SHARED_H)
|
|||
DRV_OBJS_S += $(T1Z_DRV_OBJ_S)
|
||||
DRV_OBJS_M += $(T1Z_DRV_OBJ_M)
|
||||
|
||||
# END
|
||||
# EOF
|
||||
|
|
Загрузка…
Ссылка в новой задаче