summaryrefslogtreecommitdiff
path: root/src/sdf/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdf/rules.mk')
-rw-r--r--src/sdf/rules.mk69
1 files changed, 58 insertions, 11 deletions
diff --git a/src/sdf/rules.mk b/src/sdf/rules.mk
index 978e13f13..24857a8a1 100644
--- a/src/sdf/rules.mk
+++ b/src/sdf/rules.mk
@@ -1,16 +1,63 @@
-FTMODULE_H_COMMANDS += SDF_RENDERER
-FTMODULE_H_COMMANDS += BSDF_RENDERER
+# sdf driver directory
+#
+SDF_DIR := $(SRC_DIR)/sdf
-define SDF_RENDERER
-$(OPEN_DRIVER) FT_Renderer_Class, ft_sdf_renderer_class $(CLOSE_DRIVER)
-$(ECHO_DRIVER)sdf $(ECHO_DRIVER_DESC)signed distance field renderer$(ECHO_DRIVER_DONE)
-endef
-define BSDF_RENDERER
-$(OPEN_DRIVER) FT_Renderer_Class, ft_bitmap_sdf_renderer_class $(CLOSE_DRIVER)
-$(ECHO_DRIVER)bsdf $(ECHO_DRIVER_DESC)bitmap to signed distance field converter$(ECHO_DRIVER_DONE)
-endef
+# compilation flags for the driver
+#
+SDF_COMPILE := $(CC) $(ANSIFLAGS) \
+ $I$(subst /,$(COMPILER_SEP),$(SDF_DIR)) \
+ $(INCLUDE_FLAGS) \
+ $(FT_CFLAGS)
-#EOF
+
+# sdf driver sources (i.e., C files)
+#
+SDF_DRV_SRC := $(SDF_DIR)/ftsdfrend.c \
+ $(SDF_DIR)/ftsdf.c \
+ $(SDF_DIR)/ftbsdf.c
+
+
+# sdf driver headers
+#
+SDF_DRV_H := $(SDF_DIR)/ftsdfrend.h \
+ $(SDF_DIR)/ftsdf.h \
+ $(SDF_DIR)/ftsdferrs.h \
+ $(SDF_DIR)/ftsdfcommon.h
+
+
+# sdf driver object(s)
+#
+# SDF_DRV_OBJ_M is used during `multi' builds.
+# SDF_DRV_OBJ_S is used during `single' builds.
+#
+SDF_DRV_OBJ_M := $(SDF_DRV_SRC:$(SDF_DIR)/%.c=$(OBJ_DIR)/%.$O)
+SDF_DRV_OBJ_S := $(OBJ_DIR)/sdf.$O
+
+
+# sdf driver source file for single build
+#
+SDF_DRV_SRC_S := $(SDF_DIR)/sdf.c
+
+
+# sdf driver - single object
+#
+$(SDF_DRV_OBJ_S): $(SDF_DRV_SRC_S) $(SDF_DRV_SRC) \
+ $(FREETYPE_H) $(SDF_DRV_H)
+ $(SDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(SDF_DRV_SRC_S))
+
+
+# sdf driver - multiple objects
+#
+$(OBJ_DIR)/%.$O: $(SDF_DIR)/%.c $(FREETYPE_H) $(SDF_DRV_H)
+ $(SDF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
+
+
+# update main driver list
+#
+DRV_OBJS_S += $(SDF_DRV_OBJ_S)
+DRV_OBJS_M += $(SDF_DRV_OBJ_M)
+
+# EOF