1/*
2 *  ======== package.bld ========
3 *  Build script for benchmark application
4 */
5
6if ((typeof(TivaWareDir) == undefined) || (TivaWareDir == "")) {
7    throw("ERROR: NO VALID TIVAWARE PATH DEFINED!!!");
8}
9
10var Build = xdc.useModule('xdc.bld.BuildEnvironment');
11var Pkg = xdc.useModule('xdc.bld.PackageContents');
12
13/* make command to search for the srcs */
14Pkg.makePrologue = "vpath %.c $(subst ;,  ,$(XPKGPATH))";
15
16var srcs = [
17    "main.c",
18    "wolfcrypt/benchmark/benchmark.c",
19    "examples/boards/EK_TM4C1294XL/EK_TM4C1294XL.c",
20];
21
22for each (var targ in Build.targets) {
23
24    var lnkOpts = "";
25    var platform = "ti.platforms.tiva:TM4C1294NCPDT:1";
26    if (targ.$name.match(/^ti/)) {
27        lnkOpts = " -l" + TivaWareDir + "/driverlib/ccs/Debug/driverlib.lib";
28        lnkOpts += " -x ";
29    }
30    else if (targ.$name.match(/^iar/)) {
31        lnkOpts = TivaWareDir + "/driverlib/ewarm/Exe/driverlib.a"
32                + " --config TM4C1294NC.icf";
33        platform = "ti.platforms.tiva:TM4C1294NCPDT";
34
35        /* Floating point print support */
36        var suffix = targ.$orig.lnkOpts.suffix;
37        targ.$orig.lnkOpts.suffix = suffix.replace(/PrintfSmall/, "PrintfFull");
38    }
39    else if (targ.$name.match(/^gnu/)) {
40        targ.$orig.lnkOpts.suffix += " -L" + TivaWareDir + "/driverlib/gcc "
41                + " -Wl,--start-group -ldriver -Wl,--end-group ";
42        targ.$orig.bspLib = "rdimon";
43    }
44
45    var exeOptions = { incs: wolfsslPathInclude
46            + " -DNO_MAIN_DRIVER -D_INCLUDE_NIMU_CODE -DBENCH_EMBEDDED "
47            + " -DTIVAWARE -DPART_TM4C1294NCPDT",
48            lopts: lnkOpts
49    };
50
51    var exe = Pkg.addExecutable("benchmark", targ, platform, exeOptions);
52    exe.addObjects(srcs);
53}
54