×
Namespaces

Variants
Actions
Revision as of 08:56, 19 July 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

About extension makefiles

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: r60600 (05 Jul 2007)
Last edited: hamishwillee (19 Jul 2012)

About extension makefiles

Extension makefiles is specified by keyword makefile, nmakefile, and/or gnumakefile in prj_mmpfiles section of bld.inf file. Here is talking about extension makefile is specified by gnumakefile,which is used commonly. An extension makefile can complete different series work when different commands of abld tool run,which via provide different targets(makmake,freeze,library,clean,final,resource,bld,savespace,releasables).The MSDOS commands listed with the target will be executed when corresponding abld command called.These MSDOS command's works include generating hlp file,mif file and all kinds of files via SDK command tool,which is also called external command. And these files can be operated by internal command in extension makefile. There are some notes when creats extension makefile.

Target format

All targets must be provided in extension makefile because every targets will be called during abld running.And must be followed by a colon,espacially it has commands to be run.Or Multiple targets can be put on one line and end with a colon if no commands.Such as:


makmake:

	... 

bld:

	...


freeze library clean final resource savespace releasables:

Command line format

Every command lines after target must start with a separator which length equal 8 spaces.But it can't be instead of 8 spaces,or there must be errors in compiling extension makefile.The separator is inputted by clicking Tab key on keyboard of PC.

Path format

Because the abld tool is a Perl script in fact,so the macros defined in enviroment can be used in extension makefile.Such as:

$(EPOCROOT) get EPOCROOT path of default SDK


$(PLATFORM) get build platform type (WINS,WINSCW,THUMB,ARMI,GCCE,etc.)


$(CFG) get build program type (UDEB,UREL)

These can be used in conjunction to do different works base on different enviroment.such as:

ifeq (WINS,$(findstring WINS, $(PLATFORM)))


do things in WINS platform


else


do things in other platforms


endif

Commonly, what extension makefile uses is relative path,so the location of project directory is connected with it.But macros can also be used in path of MSDOS commands,which will make the project fits IDE has multiple SDKs.

For example: ${EPOCROOT}\Epoc32\$(PLATFORM)\c\system\help

This path will be auto-changed when SDK is switched or build platform type is altered.And no matter which SDK or type is selected,the path will always correct.So the project include this kind of extension makefile can be put at any location of SDK installed disk.But it isn't the only one condition,the paths in other files of project,such as pkg file,also affects the location of project directory.

This page was last modified on 19 July 2012, at 08:56.
45 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×