The following example demonstrates using emScript to increment a build number:

First, add a JavaScript file to your project called incbuild.js containing the following code:

function incbuild()
{
  var file = "buildnum.h"
  var text = "#define BUILDNUMBER "
  var s = CWSys.readStringFromFile(file);
  var n;
  if (s == undefined)
    n = 1;
  else
    n = eval(s.substring(text.length)) + 1;
  CWSys.writeStringToFile(file, text + n);
}

// Executed when script loaded.
incbuild();

Add a file called getbuildnum.h to your project containing the following code:

#ifndef GETBUILDNUM_H
#define GETBUILDNUM_H

unsigned getBuildNumber();

#endif

Add a file called getbuildnum.c to your project containing the following code:

#include "getbuildnum.h"
#include "buildnum.h"

unsigned getBuildNumber()
{
  return BUILDNUMBER;
}

Now, to combine these: