1#
2# FreeType 2 Cache configuration rules
3#
4
5
6# Copyright (C) 2000-2021 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# Cache driver directory
17#
18CACHE_DIR := $(SRC_DIR)/cache
19
20
21# compilation flags for the driver
22#
23CACHE_COMPILE := $(CC) $(ANSIFLAGS)                              \
24                       $I$(subst /,$(COMPILER_SEP),$(CACHE_DIR)) \
25                       $(INCLUDE_FLAGS)                          \
26                       $(FT_CFLAGS)
27
28
29# Cache driver sources (i.e., C files)
30#
31CACHE_DRV_SRC := $(CACHE_DIR)/ftcbasic.c \
32                 $(CACHE_DIR)/ftccache.c \
33                 $(CACHE_DIR)/ftccmap.c  \
34                 $(CACHE_DIR)/ftcglyph.c \
35                 $(CACHE_DIR)/ftcimage.c \
36                 $(CACHE_DIR)/ftcmanag.c \
37                 $(CACHE_DIR)/ftcmru.c   \
38                 $(CACHE_DIR)/ftcsbits.c
39
40
41# Cache driver headers
42#
43CACHE_DRV_H := $(CACHE_DIR)/ftccache.h \
44               $(CACHE_DIR)/ftccback.h \
45               $(CACHE_DIR)/ftcerror.h \
46               $(CACHE_DIR)/ftcglyph.h \
47               $(CACHE_DIR)/ftcimage.h \
48               $(CACHE_DIR)/ftcmanag.h \
49               $(CACHE_DIR)/ftcmru.h   \
50               $(CACHE_DIR)/ftcsbits.h
51
52
53# Cache driver object(s)
54#
55#   CACHE_DRV_OBJ_M is used during `multi' builds.
56#   CACHE_DRV_OBJ_S is used during `single' builds.
57#
58CACHE_DRV_OBJ_M := $(CACHE_DRV_SRC:$(CACHE_DIR)/%.c=$(OBJ_DIR)/%.$O)
59CACHE_DRV_OBJ_S := $(OBJ_DIR)/ftcache.$O
60
61# Cache driver source file for single build
62#
63CACHE_DRV_SRC_S := $(CACHE_DIR)/ftcache.c
64
65
66# Cache driver - single object
67#
68$(CACHE_DRV_OBJ_S): $(CACHE_DRV_SRC_S) $(CACHE_DRV_SRC) \
69                   $(FREETYPE_H) $(CACHE_DRV_H)
70	$(CACHE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(CACHE_DRV_SRC_S))
71
72
73# Cache driver - multiple objects
74#
75$(OBJ_DIR)/%.$O: $(CACHE_DIR)/%.c $(FREETYPE_H) $(CACHE_DRV_H)
76	$(CACHE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
77
78
79# update main driver object lists
80#
81DRV_OBJS_S += $(CACHE_DRV_OBJ_S)
82DRV_OBJS_M += $(CACHE_DRV_OBJ_M)
83
84
85# EOF
86