aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/debug_w_pmr/configPkg/package.bld
blob: 659cc40907164aedb03a5ad5326bf4f6dfae3f46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* THIS IS A GENERATED FILE -- DO NOT EDIT */

var targ = xdc.module('ti.targets.arm.elf.M4F');
/* configuro was told the platform explicitly */
var platform = 'ti.platforms.tiva:TM4C129XNCZAD';

/* decide whether to make an assembly or an executable */
var makeAssembly = false;


var Executable = xdc.module('xdc.bld.Executable');

var exeOpts = new Executable.Attrs({
        cfgScript: 'C:/Tango/Software/Embedded_SW/Embedded/Embedded.cfg',
        profile: 'release',
        cfgHome: 'configPkg',
});

exeOpts.cfgArgs = 'null';
exeOpts.cfgArgsEncoded = true;

var exe = Pkg[makeAssembly ? 'addAssembly': 'addExecutable'](
    'Embedded',
    targ,
    platform,
    exeOpts
);

/*
 * Generate the compiler.opt file
 * Do this here instead of during the initial creation of the configuro
 * package, because the contents of any config.bld script are unknown
 * at that time. Config.bld can't be executed until the XDC build phase.
 */
if (makeAssembly) {
    var suffix = targ.dllExt || '.p' + targ.suffix;
}
else {
    var suffix = '.p' + targ.suffix;
}

var thisObj = {
    cfg:        '../Embedded.cfg',
    outputPath: 'C:/Tango/Software/Embedded_SW/Embedded/debug_w_pmr/configPkg',
    exeName:    'Embedded' + suffix,
    exeIntName: 'Embedded' + suffix.replace('.', '_'),
    targ:       targ,
    linkerCommandFile: 'linker.cmd',
    compilerOptFile: 'compiler.opt',
    compilerDefsFile: 'compiler.opt' + ".defs",
    makeAssembly: makeAssembly
};
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/compiler.opt.xdt');
tmpl.genFile('compiler.opt', thisObj, [], false);

/*
 * Generate the custom makefile.
 */
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/' + 
    (makeAssembly? 'custom.mak.asm.xdt' : 'custom.mak.exe.xdt'));
tmpl.genFile('custom.mak', thisObj, [], false);
Pkg.makeEpilogue = "include custom.mak";

/*
 * Generate the package script.
 */
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/package.xs.xdt');
tmpl.genFile('package.xs', thisObj, [], false);

if (makeAssembly) {
/*
 * Generate the linker options into a staging file, so that the presence or
 * age of the advertised linker command file can be the makefile trigger to
 * rebuild the package from the user's config script.
 */
    var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/linker.cmd.asm.xdt');
    tmpl.genFile('linker.cmd.cp', thisObj, [], false);
}