HelloWorldBasic Icons Make File

HelloWorldBasic uses an extension makefile (.mk) to compile the application icon. The extension make files are stored in the project's group folder. For more information on extension makefiles, see the How to write an extension makefile template topic.

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.