| OLD | NEW |
| (Empty) |
| 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 | |
| OLD | NEW |