HelloWorldBasic uses an extension makefile (.mk)
to compile the application icon. The extension make files are stored
in the project's group
folder.
The Icons_scalable_dc.mk
file is as follows:
ifeq (WINS,$(findstring WINS, $(PLATFORM))) ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z else ZDIR=$(EPOCROOT)epoc32\data\z endif TARGETDIR=$(ZDIR)\resource\apps ICONTARGETFILENAME=$(TARGETDIR)\helloworldbasic_aif.mif ICONDIR=..\gfx do_nothing : @rem do_nothing MAKMAKE : do_nothing BLD : do_nothing CLEAN : do_nothing LIB : do_nothing CLEANLIB : do_nothing RESOURCE : mifconv $(ICONTARGETFILENAME) \ /c32 $(ICONDIR)\qgn_menu_helloworldbasic.svg FREEZE : do_nothing SAVESPACE : do_nothing RELEASABLES : @echo $(ICONTARGETFILENAME) FINAL : do_nothing
The meaning of the lines is as follows:
ifeq (WINS,$(findstring WINS, $(PLATFORM))) ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z else ZDIR=$(EPOCROOT)epoc32\data\z endif
An if statement that uses the $(PLATFORM)
macro
to determine the built platform, and if the platform is WINS , it
finds the path of the root folder from the environment variables.
WINS sets the variable ZDIR to that root plus the folders epoc32/release/wins/
, and the result of the $(CFG)
macro, which is either the UDEB or UREL/Z variable. If the platform
is not WINS, it sets variable to the other folder. For more information
about WINS see Compilers.
TARGETDIR=$(ZDIR)\resource\apps ICONTARGETFILENAME=$(TARGETDIR)\helloworldbasic_aif.mif
Builds the full path for the icon file. The .mif
file is the result of the SVG-T build. This is a file into which
all the icons are placed to save space. The application opens this
file to retrieve the images required. Note also that the name of the .mif
file must be unique.
ICONDIR=..\gfx
Project folder that contains the icon, relative to the folder that
contains the bld.inf
file.
do_nothing : @rem do_nothing MAKMAKE : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command makefile
. In this case, no makefile is required, so nothing
is done.
BLD : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command target
. In this case, no main executable or resources are
required, so nothing is done.
CLEAN : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command clean
. This command removes everything built with abld target
, but this action is not required so nothing
is done. If you want the icon to be deleted when you do a clean, you
can replace the do_nothing
command with del
/Q
.
LIB : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command library
. This command creates import libraries from frozen .def
files. No action is required here.
CLEANLIB : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command tidy
. This command removes executables that will not be
released. This action is not required, so nothing is done here.
/ RESOURCE : mifconv $(ICONTARGETFILENAME) \ /c32 $(ICONDIR)\qgn_menu_helloworldbasic.svg
Required target for processing the extension makefile by abld
, this corresponds to the abld
command resource
. This command creates resources files. mifconv
is the command called to invoke the SVG-T build
chain tool. This passes in the target location variable for where
the result should go, and the location of the SVG-T file that needs
to be converted. Thus example only uses one icon, if more were used,
then each icon would need to be listed here. The C32 indicates the
color depth of the icon. This value should not be changed for SVG-T
icons.
FREEZE : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command freeze
. This command freezes exported functions in a .def
file. No action is required here.
SAVESPACE : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command target -savespace
. This command and option deletes intermediate
files on success. This is not required here, so nothing is done.
RELEASABLES : @echo $(ICONTARGETFILENAME)
Required target for processing the extension makefile by abld
, this corresponds to the abld
command target
. This command checks to see that the releasables
are present and lists them. With the echo, this generates a line to
indicate what has been build.
FINAL : do_nothing
Required target for processing the extension makefile by abld
, this corresponds to the abld
command final
. This command allows extension makefiles to execute
final commands. This is not required here, so nothing is done.