Marcel Telka
2024-04-02 966b7de801e4d31160b59d0892ff8ae43028ae01
make-rules/font.mk
@@ -26,6 +26,11 @@
BUILD_BITS  ?= NO_ARCH
BUILD_STYLE ?= archive
ifneq ($(findstring X11,$(FONT_TYPE)),)
X11_CATEGORY = FONT
include $(WS_MAKE_RULES)/x11.mk
endif
include $(WS_MAKE_RULES)/common.mk
MKFONTSCALE = mkfontscale
@@ -39,28 +44,33 @@
# Font type macros 
#
TTFFONTDIR = TrueType
OTFFONTDIR = OpenType
X11FONTDIR = X11
TTFFONTDIR     = TrueType
OTFFONTDIR     = OpenType
X11FONTDIR     = X11
X11MISCFONTDIR = X11
PKGFONTDIR?= $($(FONT_TYPE)FONTDIR)
# For compatibility
USRSHARETTFONTSDIR = $(USRSHAREFONTSDIR)/$(TTFFONTDIR)
USRSHAREOTFONTSDIR = $(USRSHAREFONTSDIR)/$(OTFFONTDIR)
USRSHARETTFFONTSDIR = $(USRSHAREFONTSDIR)/$(TTFFONTDIR)
USRSHAREOTFFONTSDIR = $(USRSHAREFONTSDIR)/$(OTFFONTDIR)
USRSHAREX11FONTSDIR = $(USRSHAREFONTSDIR)/$(X11FONTDIR)
TTFFONTSRC = ttf
OTFFONTSRC = otf
X11FONTSRC =
TTFFONTSRC     = ttf
OTFFONTSRC     = otf
X11FONTSRC     =
X11MISCFONTSRC =
PKGFONTSRC?= $($(FONT_TYPE)FONTSRC)
TTFFONTCLS = truetype
OTFFONTCLS = opentype
X11FONTCLS = xorg
TTFFONTCLS     = truetype
OTFFONTCLS     = opentype
X11FONTCLS     = xorg
X11MISCFONTCLS =
PKGFONTCLS?= $($(FONT_TYPE)FONTCLS)
TTFFONTEXT = *.ttc *.tte *.ttf
OTFFONTEXT = *.otf *.otc *.ttf *.ttc
X11FONTEXT =
TTFFONTEXT     = *.ttc *.tte *.ttf
OTFFONTEXT     = *.otf *.otc *.ttf *.ttc
X11FONTEXT     = *.pcf
X11MISCFONTEXT = *.pcf
PKGFONTEXT?= $($(FONT_TYPE)FONTEXT)
PKGFONTCONFSRC = fontconfig
@@ -71,22 +81,29 @@
#
PROTOFONTSDIR = $(PROTO_DIR)$(USRSHAREFONTSDIR)
PROTOTTFFONTSDIR = $(PROTO_DIR)$(TTFFONTDIR)
PROTOOTFFONTSDIR = $(PROTO_DIR)$(OTFFONTDIR)
PROTOX11FONTSDIR = $(PROTO_DIR)$(X11FONTDIR)
PROTOTTFFONTSDIR = $(PROTOFONTSDIR)/$(TTFFONTDIR)
PROTOOTFFONTSDIR = $(PROTOFONTSDIR)/$(OTFFONTDIR)
PROTOX11FONTSDIR = $(PROTOFONTSDIR)/$(X11FONTDIR)
PROTOPKGFONTSDIR = $(PROTO$(FONT_TYPE)FONTSDIR)
PROTOFONTSCONFDIR = $(PROTO_DIR)$(ETCFONTSCONFDIR)
#
# Default rules
# Default macros
#
COMPONENT_FONT_TYPE = $(PKGFONTCLS)
COMPONENT_FONT_NAME?= $(COMPONENT_NAME)
COMPONENT_FMRI = \
  system/font/$(strip $(COMPONENT_FONT_TYPE))/$(strip $(COMPONENT_FONT_NAME))
COMPONENT_FONT_NAME = $(COMPONENT_NAME)
COMPONENT_FONT_PKG  = $(COMPONENT_NAME)
ifeq ($(strip $(COMPONENT_FONT_TYPE)),)
COMPONENT_FMRI ?= \
  system/font/$(strip $(COMPONENT_FONT_PKG))
else
COMPONENT_FMRI ?= \
  system/font/$(strip $(COMPONENT_FONT_TYPE))/$(strip $(COMPONENT_FONT_PKG))
endif
COMPONENT_CLASSIFICATION = System/Fonts
COMPONENT_CATEGORY = font
COMPONENT_FONT_DEST_DIR?= $(USRSHAREFONTSDIR)/$(PKGFONTDIR)/$(COMPONENT_FONT_NAME)
COMPONENT_FONT_SRC_DIR ?= $(PKGFONTSRC)
@@ -95,6 +112,10 @@
COMPONENT_FONTCONF_DEST_DIR?= $(ETCFONTSCONFDIR)
COMPONENT_FONTCONF_SRC_DIR ?= $(PKGFONTCONFSRC)
COMPONENT_FONTCONF_FILES    = $(PKGFONTCONFEXT)
#
# Build style specific rules
#
ifeq ($(strip $(BUILD_STYLE)),archive)
@@ -108,7 +129,7 @@
$(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
   ($(RM) -rf $(@D) ; $(MKDIR) $(@D))
   $(CLONEY) $(SOURCE_DIR) $(@D)
   $(ENV) $(CLONEY_ARGS) $(CLONEY) $(SOURCE_DIR) $(@D)
   $(COMPONENT_PRE_BUILD_ACTION)
   ($(COMPONENT_BUILD_ACTION))
   $(COMPONENT_POST_BUILD_ACTION)
@@ -164,17 +185,17 @@
endif
# Add font metadata to packages to make it easier to search for fonts
$(MANIFEST_BASE)-%.mogrified: PUBLISH_TRANSFORMS += $(@:.mogrified=.font-transforms)
$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified): PUBLISH_TRANSFORMS += $(@:.mogrified=.font-transforms)
$(MANIFESTS:%.p5m=%.mogrified): font-transforms
font-transforms: $(MANIFESTS:%.p5m=%.font-transforms)
$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified): font-transforms
font-transforms: $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.font-transforms)
$(MANIFEST_BASE)-%.font-transforms: %.p5m
   $(PERL) $(WS_TOOLS)/generate_font_metadata.pl \
   -p $(PROTO_DIR) -m $< > $@ || ( rm $@ ; exit 1 )
# Package containing fc-scan used in generate_font_metadata.pl
REQUIRED_PACKAGES   += system/library/fontconfig
USERLAND_REQUIRED_PACKAGES += system/library/fontconfig
# Package containing $(MKFONTSCALE) & $(MKFONTDIR)
REQUIRED_PACKAGES   += x11/font-utilities
USERLAND_REQUIRED_PACKAGES += x11/font-utilities