Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #
  2. # FreeType 2 base layer configuration rules
  3. #
  4.  
  5.  
  6. # Copyright 1996-2000, 2002-2009, 2013 by
  7. # David Turner, Robert Wilhelm, and Werner Lemberg.
  8. #
  9. # This file is part of the FreeType project, and may only be used, modified,
  10. # and distributed under the terms of the FreeType project license,
  11. # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
  12. # indicate that you have read the license and understand and accept it
  13. # fully.
  14.  
  15.  
  16. # It sets the following variables which are used by the master Makefile
  17. # after the call:
  18. #
  19. #   BASE_OBJ_S:   The single-object base layer.
  20. #   BASE_OBJ_M:   A list of all objects for a multiple-objects build.
  21. #   BASE_EXT_OBJ: A list of base layer extensions, i.e., components found
  22. #                 in `freetype/src/base' which are not compiled within the
  23. #                 base layer proper.
  24.  
  25.  
  26. BASE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SRC_DIR)/base)
  27.  
  28.  
  29. # Base layer sources
  30. #
  31. #   ftsystem, ftinit, and ftdebug are handled by freetype.mk
  32. #
  33. # All files listed here should be included in `ftbase.c' (for a `single'
  34. # build).
  35. #
  36. BASE_SRC := $(BASE_DIR)/ftadvanc.c \
  37.             $(BASE_DIR)/ftcalc.c   \
  38.             $(BASE_DIR)/ftdbgmem.c \
  39.             $(BASE_DIR)/ftgloadr.c \
  40.             $(BASE_DIR)/ftobjs.c   \
  41.             $(BASE_DIR)/ftoutln.c  \
  42.             $(BASE_DIR)/ftrfork.c  \
  43.             $(BASE_DIR)/ftsnames.c \
  44.             $(BASE_DIR)/ftstream.c \
  45.             $(BASE_DIR)/fttrigon.c \
  46.             $(BASE_DIR)/ftutil.c
  47.  
  48.  
  49. ifneq ($(ftmac_c),)
  50.   BASE_SRC += $(BASE_DIR)/$(ftmac_c)
  51. endif
  52.  
  53. # for simplicity, we also handle `md5.c' (which gets included by `ftobjs.h')
  54. BASE_H := $(BASE_DIR)/ftbase.h \
  55.           $(BASE_DIR)/md5.c    \
  56.           $(BASE_DIR)/md5.h
  57.  
  58. # Base layer `extensions' sources
  59. #
  60. # An extension is added to the library file as a separate object.  It is
  61. # then linked to the final executable only if one of its symbols is used by
  62. # the application.
  63. #
  64. BASE_EXT_SRC := $(patsubst %,$(BASE_DIR)/%,$(BASE_EXTENSIONS))
  65.  
  66. # Default extensions objects
  67. #
  68. BASE_EXT_OBJ := $(BASE_EXT_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O)
  69.  
  70.  
  71. # Base layer object(s)
  72. #
  73. #   BASE_OBJ_M is used during `multi' builds (each base source file compiles
  74. #   to a single object file).
  75. #
  76. #   BASE_OBJ_S is used during `single' builds (the whole base layer is
  77. #   compiled as a single object file using ftbase.c).
  78. #
  79. BASE_OBJ_M := $(BASE_SRC:$(BASE_DIR)/%.c=$(OBJ_DIR)/%.$O)
  80. BASE_OBJ_S := $(OBJ_DIR)/ftbase.$O
  81.  
  82. # Base layer root source file for single build
  83. #
  84. BASE_SRC_S := $(BASE_DIR)/ftbase.c
  85.  
  86.  
  87. # Base layer - single object build
  88. #
  89. $(BASE_OBJ_S): $(BASE_SRC_S) $(BASE_SRC) $(FREETYPE_H) $(BASE_H)
  90.         $(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BASE_SRC_S))
  91.  
  92.  
  93. # Multiple objects build + extensions
  94. #
  95. $(OBJ_DIR)/%.$O: $(BASE_DIR)/%.c $(FREETYPE_H) $(BASE_H)
  96.         $(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
  97.  
  98.  
  99. # EOF
  100.