Old Blogs

Old blogs

S60 Build Performance: Don’t Forget to Update Your Makefiles

If you are building scalable (SVG) icons for your S60 application, chances are you are using makefiles without dependency tracking. I’ve noticed quite a few large projects that contain several icon makefiles without proper dependency tracking which can vastly degrage rebuild performance. For example, taking 15 minutes to rebuild instead of 10 seconds for a dependency check. This is typically due to header files that are always generated under \epoc32\include (e.g. MBG files) and causing subsequent CPP files to be unnecessarily re-compiled and the project re-linked.


You can easily fix this by adding the proper dependency tracking in your make file. For example, in your scalable icons make file:

The old RESOURCE target looked like this:

----
RESOURCE :
mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
/c12 ..\gfx\image1.bmp \
/c12,1 ..\gfx\image2.bmp \
/c16,8 ..\gfx\star.svg

—-
Where the fix is like this (the diff is in bold):

----
RESOURCE : $(ICONTARGETFILENAME)
$(ICONTARGETFILENAME) : ..\gfx\image1.bmp \
..\gfx\image2.bmp \
..\gfx\star.svg
mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
/c12 ..\gfx\image1.bmp \
/c12,1 ..\gfx\image2.bmp \
/c16,8 ..\gfx\star.svg
----

About the author Tim Kelly

  • Number of posts: 14

Comments are closed.

Visit new S60 Blogs

You are browsing old S60 blogs. Please note that these sections are not updated any more. Go to the new S60 Blogs to find out the latest news!

New blog categories:

Archives

What is S60?