2 # FreeType 2 smooth renderer module build rules
6 # Copyright (C) 1996-2023 by
7 # David Turner, Robert Wilhelm, and Werner Lemberg.
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
16 # smooth driver directory
18 SMOOTH_DIR := $(SRC_DIR)/smooth
21 # compilation flags for the driver
23 SMOOTH_COMPILE := $(CC) $(ANSIFLAGS) \
24 $I$(subst /,$(COMPILER_SEP),$(SMOOTH_DIR)) \
29 # smooth driver sources (i.e., C files)
31 SMOOTH_DRV_SRC := $(SMOOTH_DIR)/ftgrays.c \
32 $(SMOOTH_DIR)/ftsmooth.c
35 # smooth driver headers
37 SMOOTH_DRV_H := $(SMOOTH_DRV_SRC:%c=%h) \
38 $(SMOOTH_DIR)/ftsmerrs.h
41 # smooth driver object(s)
43 # SMOOTH_DRV_OBJ_M is used during `multi' builds.
44 # SMOOTH_DRV_OBJ_S is used during `single' builds.
46 SMOOTH_DRV_OBJ_M := $(SMOOTH_DRV_SRC:$(SMOOTH_DIR)/%.c=$(OBJ_DIR)/%.$O)
47 SMOOTH_DRV_OBJ_S := $(OBJ_DIR)/smooth.$O
49 # smooth driver source file for single build
51 SMOOTH_DRV_SRC_S := $(SMOOTH_DIR)/smooth.c
54 # smooth driver - single object
56 $(SMOOTH_DRV_OBJ_S): $(SMOOTH_DRV_SRC_S) $(SMOOTH_DRV_SRC) \
57 $(FREETYPE_H) $(SMOOTH_DRV_H)
58 $(SMOOTH_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(SMOOTH_DRV_SRC_S))
61 # smooth driver - multiple objects
63 $(OBJ_DIR)/%.$O: $(SMOOTH_DIR)/%.c $(FREETYPE_H) $(SMOOTH_DRV_H)
64 $(SMOOTH_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
67 # update main driver object lists
69 DRV_OBJS_S += $(SMOOTH_DRV_OBJ_S)
70 DRV_OBJS_M += $(SMOOTH_DRV_OBJ_M)