3 include $(SRCDIR)/config/aros.cfg
5 #MM- workbench-libs-freetype-complete : \
6 #MM workbench-libs-freetype-linklib \
7 #MM workbench-libs-freetype-module
8 #MM workbench-libs-freetype-linklib : freetype2-fetch
9 #MM workbench-libs-freetype-module : freetype2-fetch
13 ARCHBASE := $(FT2NAME)-$(FT2VERS)
15 FT2SRCDIR := $(PORTSDIR)/$(FT2NAME)2/$(ARCHBASE)
16 FT2AROSBUILDDIR := $(FT2SRCDIR)/builds/aros/src
18 PATCHSPEC := $(ARCHBASE)-aros.diff:$(ARCHBASE):-p1
19 REPOSITORIES := https://download.savannah.gnu.org/releases/freetype
21 %fetch mmake=freetype2-fetch archive=$(ARCHBASE) destination=$(PORTSDIR)/$(FT2NAME)2 \
22 location=$(PORTSSOURCEDIR) archive_origins=$(REPOSITORIES) suffixes="tar.gz" \
23 patches_specs=$(PATCHSPEC)
25 %create_patch mmake=freetype2-create-patch \
26 archive=$(ARCHBASE) suffixes="tar.gz" \
27 destination=$(PORTSDIR)/$(FT2NAME)2
82 # Substitute BASEFILES with the AROS specific versions
83 FT2BASEARCHFILES := $(patsubst $(FT2AROSBUILDDIR)/%,%,$(basename $(wildcard $(FT2AROSBUILDDIR)/base/*.c)))
84 FT2BASENARCHFILES := $(addprefix $(FT2SRCDIR)/src/,$(filter-out $(FT2BASEARCHFILES),$(FT2BASEFILES) $(FT2BASEEXTFILES)))
96 NOWARN_FLAGS := $(NOWARN_ERROR)
97 USER_CFLAGS := $(NOWARN_FLAGS)
98 USER_CPPFLAGS := -DFT2_BUILD_LIBRARY
99 USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/src $(addprefix -I,$(DIRS))
101 #MM- workbench-libs : workbench-libs-freetype-module
102 #MM workbench-libs-freetype-linklib : workbench-libs-freetype-includes workbench-libs-freetype-pkgconfig
103 #MM workbench-libs-freetype-module : workbench-libs-freetype-includes
104 #MM- workbench-libs-freetype-linklibs : workbench-libs-freetype-linklib workbench-libs-freetype-module-linklib
106 FT2FILES := $(addprefix $(FT2AROSBUILDDIR)/,$(FT2BASEARCHFILES)) $(addprefix $(FT2SRCDIR)/src/,$(FT2AUXFILES) $(FT2RASTFILES) $(FT2FONTFILES) $(FT2HINTFILES)) $(FT2BASENARCHFILES)
108 %build_linklib mmake=workbench-libs-freetype-linklib libname=freetype2.static \
109 files=$(FT2FILES) objdir=$(OBJDIR)/freetype2_static
111 %build_module mmake=workbench-libs-freetype-module modname=freetype2 \
112 modtype=library files="$(SHFILES) $(FT2FILES)" uselibs="stdc" conffile=freetype2.conf
115 # Rules for generated files and Includes...
119 workbench-libs-freetype-pkgconfig : $(AROS_LIB)/pkgconfig/freetype2.pc
121 $(AROS_LIB)/pkgconfig/freetype2.pc : $(FT2SRCDIR)/builds/unix/freetype2.in
122 %mkdir_q dir=$(AROS_LIB)/pkgconfig
123 @$(SED) -e 's|%FT2_EXTRA_LIBS%||' \
125 -e 's|%LIBZ%|-L $(AROS_LIB) -lz|' \
126 -e 's|%exec_prefix%|$${prefix}|' \
127 -e 's|%ft_version%|2.5.0|' \
128 -e 's|%includedir%|$${prefix}/include|' \
129 -e 's|%libdir%|$(AROS_LIB)|' \
130 -e 's|%prefix%|/Developer|' \
133 FT2_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/*.h))
134 %copy_includes dir=$(FT2SRCDIR)/include includes=$(FT2_INCLUDE_FILES)
136 FT2I_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/*.h))
137 %copy_includes path=freetype dir=$(FT2SRCDIR)/include/freetype includes=$(FT2I_INCLUDE_FILES)
139 #MM- includes-copy : workbench-libs-freetype-genincludes
141 FT2OPTIONFILE := ftoption.h
142 FT2CONFIG_INCLUDE_FILES := $(filter-out $(FT2OPTIONFILE),$(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/config/*.h)))
143 %copy_includes path=freetype/config dir=$(FT2SRCDIR)/include/freetype/config includes=$(FT2CONFIG_INCLUDE_FILES)
145 $(AROS_INCLUDES)/freetype/config/$(FT2OPTIONFILE) : $(FT2SRCDIR)/include/freetype/config/$(FT2OPTIONFILE)
146 @$(ECHO) "Generating Freetype2 build options ..."
147 %mkdir_q dir=$(AROS_INCLUDES)/freetype/config
148 @$(SED) "s|.*FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES.*|/*define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES*/\\n|g" $< > $@
151 workbench-libs-freetype-genincludes : $(AROS_INCLUDES)/freetype/config/$(FT2OPTIONFILE)
154 FT2INT_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/internal/*.h))
155 %copy_includes path=freetype/internal dir=$(FT2SRCDIR)/include/freetype/internal includes=$(FT2INT_INCLUDE_FILES)
157 FT2SVC_INCLUDE_FILES := $(notdir $(call WILDCARD, $(FT2SRCDIR)/include/freetype/internal/services/*.h))
158 %copy_includes path=freetype/internal/services dir=$(FT2SRCDIR)/include/freetype/internal/services includes=$(FT2SVC_INCLUDE_FILES)