summaryrefslogtreecommitdiff
path: root/framebuffer/Makefile.target
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-08-17 23:49:06 +0100
committerVincent Sanders <vince@kyllikki.org>2014-08-17 23:49:06 +0100
commit98a4985b30df2fb8195b0ff29eb69dd5f49557a8 (patch)
tree702ba1e9664b5599a637e4fbefb852e9c3ee25ed /framebuffer/Makefile.target
parentea1e68febaca0b6a9885d25dffa97e5f6611e790 (diff)
downloadnetsurf-98a4985b30df2fb8195b0ff29eb69dd5f49557a8.tar.gz
netsurf-98a4985b30df2fb8195b0ff29eb69dd5f49557a8.tar.bz2
generate internal font from glyph data on demand
Diffstat (limited to 'framebuffer/Makefile.target')
-rw-r--r--framebuffer/Makefile.target44
1 files changed, 37 insertions, 7 deletions
diff --git a/framebuffer/Makefile.target b/framebuffer/Makefile.target
index 9632b56d4..3ca778174 100644
--- a/framebuffer/Makefile.target
+++ b/framebuffer/Makefile.target
@@ -70,11 +70,6 @@ endif
# built-in resource setup
# ----------------------------------------------------------------------------
-# We make convert_image depend on fb_bitmap.h so that if we change
-# that header, we get new images built just in case.
-$(TOOLROOT)/convert_image: $(TOOLROOT)/created framebuffer/convert_image.c framebuffer/fbtk.h
- $(VQ)echo " HOST CC: $@"
- $(Q)$(HOST_CC) -o $@ framebuffer/convert_image.c -lpng
FB_IMAGE_left_arrow := framebuffer/res/icons/back.png
FB_IMAGE_right_arrow := framebuffer/res/icons/forward.png
@@ -112,6 +107,14 @@ FB_IMAGE_throbber6 := framebuffer/res/throbber/throbber6.png
FB_IMAGE_throbber7 := framebuffer/res/throbber/throbber7.png
FB_IMAGE_throbber8 := framebuffer/res/throbber/throbber8.png
+# Host tool to convert image bitmaps to source code.
+#
+# convert_image dependd on fb_bitmap.h so that if we change that
+# header, we get new images built.
+$(TOOLROOT)/convert_image: $(TOOLROOT)/created framebuffer/convert_image.c framebuffer/fbtk.h
+ $(VQ)echo " HOST CC: $@"
+ $(Q)$(HOST_CC) -o $@ framebuffer/convert_image.c -lpng
+
# 1: input file
# 2: output file
# 3: bitmap name
@@ -126,7 +129,34 @@ endef
S_IMAGES :=
-$(eval $(foreach V,$(filter FB_IMAGE_%,$(.VARIABLES)),$(call convert_image,$($(V)),$(OBJROOT)/$(patsubst FB_IMAGE_%,%,$(V)).c,$(patsubst FB_IMAGE_%,%,$(V)))))
+$(eval $(foreach V,$(filter FB_IMAGE_%,$(.VARIABLES)),$(call convert_image,$($(V)),$(OBJROOT)/image-$(patsubst FB_IMAGE_%,%,$(V)).c,$(patsubst FB_IMAGE_%,%,$(V)))))
+
+
+# Internal fonts to generate
+FB_FONT_internal_core := framebuffer/res/fonts/glyph_data
+
+# Internal font conversion
+$(TOOLROOT)/convert_font: $(TOOLROOT)/created framebuffer/convert_font.c
+ $(VQ)echo " HOST CC: $@"
+ $(Q)$(HOST_CC) -o $@ framebuffer/convert_font.c
+
+# 1: input file
+# 2: output source code file
+# 3: output header file
+# 4: font name
+define convert_font
+
+S_FONTS += $(2)
+
+$(2): $(1) $(TOOLROOT)/convert_font
+ $(VQ)echo " FONT: $(1) ($(4))"
+ $(Q)$(TOOLROOT)/convert_font -H $(3) $(1) $(2)
+
+endef
+
+S_FONTS :=
+
+$(eval $(foreach V,$(filter FB_FONT_$(NETSURF_FB_FONTLIB)_%,$(.VARIABLES)),$(call convert_font,$($(V)),$(OBJROOT)/font-$(patsubst FB_FONT_$(NETSURF_FB_FONTLIB)_%,%,$(V)).c,$(OBJROOT)/font-$(patsubst FB_FONT_$(NETSURF_FB_FONTLIB)_%,%,$(V)).h,$(patsubst FB_FONT_$(NETSURF_FB_FONTLIB)_%,%,$(V)))))
# ----------------------------------------------------------------------------
# Source file setup
@@ -147,7 +177,7 @@ S_FRAMEBUFFER := $(addprefix framebuffer/,$(S_FRAMEBUFFER)) $(addprefix framebuf
# This is the final source build list
# Note this is deliberately *not* expanded here as common and image
# are not yet available
-SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRAMEBUFFER) $(S_IMAGES)
+SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRAMEBUFFER) $(S_IMAGES) $(S_FONTS)
EXETARGET := nsfb
# ----------------------------------------------------------------------------