Edit

kc3-lang/freetype/src/base/rules.mk

Branch :

  • Show log

    Commit

  • Author : David Turner
    Date : 2008-09-01 21:35:21
    Hash : 28534d61
    Message : * include/freetype/ftadvanc.h, src/base/ftadvanc.c, include/freetype/config/ftheader.h, include/freetype/freetype.h, src/base/Jamfile, src/base/rules.mk, src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffgload.h, src/truetype/ttdriver.c, src/truetype/ttgload.h, src/truetype/ttgload.c, src/type1/t1driver.c, src/type1/t1gload.h, src/type1/t1gload.c: Add a new header named FT_ADVANCES_H declaring some new APIs to extract the advances of one or more glyphs without necessarily loading their outlines. Also provide 'fast loaders' for the TrueType, Type1 and CFF font drivers (more to come later) * autogen.sh: add checks for minimum version of the 'autotools' stuff.

  • src/base/rules.mk
  • #
    # FreeType 2 base layer configuration rules
    #
    
    
    # Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006, 2007 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_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/src/base' which are not compiled within the
    #                 base layer proper.
    #
    # BASE_H is defined in freetype.mk to simplify the dependency rules.
    
    
    BASE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SRC_DIR)/base)
    
    
    # Base layer sources
    #
    #   ftsystem, ftinit, and ftdebug are handled by freetype.mk
    #
    # All files listed here should be included in `ftbase.c' (for a `single'
    # build).
    #
    BASE_SRC := $(BASE_DIR)/ftcalc.c   \
                $(BASE_DIR)/ftdbgmem.c \
                $(BASE_DIR)/ftgloadr.c \
                $(BASE_DIR)/ftnames.c  \
                $(BASE_DIR)/ftobjs.c   \
                $(BASE_DIR)/ftoutln.c  \
                $(BASE_DIR)/ftrfork.c  \
                $(BASE_DIR)/ftstream.c \
                $(BASE_DIR)/fttrigon.c \
                $(BASE_DIR)/ftutil.c   \
                $(BASE_DIR)/ftadvanc.c
    
    
    # Base layer `extensions' sources
    #
    # An extension is added to the library file as a separate object.  It is
    # then linked to the final executable only if one of its symbols is used by
    # the application.
    #
    BASE_EXT_SRC := $(patsubst %,$(BASE_DIR)/%,$(BASE_EXTENSIONS))
    
    # Default extensions objects
    #
    BASE_EXT_OBJ := $(BASE_EXT_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O)
    
    
    # Base layer object(s)
    #
    #   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_M := $(BASE_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O)
    BASE_OBJ_S := $(OBJ_DIR)/ftbase.$O
    
    # Base layer root source file for single build
    #
    BASE_SRC_S := $(BASE_DIR)/ftbase.c
    
    
    # Base layer - single object build
    #
    $(BASE_OBJ_S): $(BASE_SRC_S) $(BASE_SRC) $(FREETYPE_H)
    	$(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BASE_SRC_S))
    
    
    # Multiple objects build + extensions
    #
    $(OBJ_DIR)/%.$O: $(BASE_DIR)/%.c $(FREETYPE_H)
    	$(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
    
    
    # EOF