rules.mk (1707B)
1 # 2 # FreeType 2 SVG renderer module build rules 3 # 4 5 6 # Copyright (C) 2022-2025 by 7 # David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 # SVG renderer driver directory 17 # 18 SVG_DIR := $(SRC_DIR)/svg 19 20 # compilation flags for the driver 21 # 22 SVG_COMPILE := $(CC) $(ANSIFLAGS) \ 23 $I$(subst /,$(COMPILER_SEP),$(SVG_DIR)) \ 24 $(INCLUDE_FLAGS) \ 25 $(FT_CFLAGS) 26 27 # SVG renderer sources (i.e., C files) 28 # 29 SVG_DRV_SRC := $(SVG_DIR)/ftsvg.c 30 31 32 # SVG renderer headers 33 # 34 SVG_DRV_H := $(SVG_DIR)/ftsvg.h \ 35 $(SVG_DIR)/svgtypes.h 36 37 38 # SVG renderer object(s) 39 # 40 # SVG_DRV_OBJ_M is used during `multi' builds. 41 # SVG_DRV_OBJ_S is used during `single' builds. 42 # 43 SVG_DRV_OBJ_M := $(SVG_DRV_SRC:$(SVG_DIR)/%.c=$(OBJ_DIR)/%.$O) 44 SVG_DRV_OBJ_S := $(OBJ_DIR)/svg.$O 45 46 # SVG renderer source file for single build 47 # 48 SVG_DRV_SRC_S := $(SVG_DIR)/svg.c 49 50 51 # SVG renderer - single object 52 # 53 $(SVG_DRV_OBJ_S): $(SVG_DRV_SRC_S) $(SVG_DRV_SRC) \ 54 $(FREETYPE_H) $(SVG_DRV_H) 55 $(SVG_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(SVG_DRV_SRC_S)) 56 57 58 # SVG renderer - multiple objects 59 # 60 $(OBJ_DIR)/%.$O: $(SVG_DIR)/%.c $(FREETYPE_H) $(SVG_DRV_H) 61 $(SVG_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) 62 63 64 # update main driver object lists 65 # 66 DRV_OBJS_S += $(SVG_DRV_OBJ_S) 67 DRV_OBJS_M += $(SVG_DRV_OBJ_M) 68 69 70 # EOF