1#
2# FreeType 2 LZW support configuration rules
3#
4
5
6# Copyright 2004-2018 by
7# Albert Chin-A-Young.
8#
9# based on `src/lzw/rules.mk'
10#
11# This file is part of the FreeType project, and may only be used, modified,
12# and distributed under the terms of the FreeType project license,
13# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
14# indicate that you have read the license and understand and accept it
15# fully.
16
17
18# LZW driver directory
19#
20LZW_DIR := $(SRC_DIR)/lzw
21
22
23# compilation flags for the driver
24#
25LZW_COMPILE := $(CC) $(ANSIFLAGS)                            \
26                     $I$(subst /,$(COMPILER_SEP),$(LZW_DIR)) \
27                     $(INCLUDE_FLAGS)                        \
28                     $(FT_CFLAGS)
29
30
31# LZW support sources (i.e., C files)
32#
33LZW_DRV_SRC := $(LZW_DIR)/ftlzw.c
34
35# LZW support headers
36#
37LZW_DRV_H := $(LZW_DIR)/ftzopen.h \
38             $(LZW_DIR)/ftzopen.c
39
40
41# LZW driver object(s)
42#
43#   LZW_DRV_OBJ_M is used during `multi' builds
44#   LZW_DRV_OBJ_S is used during `single' builds
45#
46LZW_DRV_OBJ_M := $(OBJ_DIR)/ftlzw.$O
47LZW_DRV_OBJ_S := $(OBJ_DIR)/ftlzw.$O
48
49# LZW support source file for single build
50#
51LZW_DRV_SRC_S := $(LZW_DIR)/ftlzw.c
52
53
54# LZW support - single object
55#
56$(LZW_DRV_OBJ_S): $(LZW_DRV_SRC_S) $(LZW_DRV_SRC) $(FREETYPE_H) $(LZW_DRV_H)
57	$(LZW_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(LZW_DRV_SRC_S))
58
59
60# LZW support - multiple objects
61#
62$(OBJ_DIR)/%.$O: $(LZW_DIR)/%.c $(FREETYPE_H) $(LZW_DRV_H)
63	$(LZW_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
64
65
66# update main driver object lists
67#
68DRV_OBJS_S += $(LZW_DRV_OBJ_S)
69DRV_OBJS_M += $(LZW_DRV_OBJ_M)
70
71
72# EOF
73