From de75eecdc19c97c6e0e2fb902ffab3dbbf089eb5 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 2 Oct 2017 10:58:41 +1100 Subject: Add a rootfd module to make it easier for users. --- rootfs.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 rootfs.py diff --git a/rootfs.py b/rootfs.py new file mode 100644 index 0000000..26c2d1b --- /dev/null +++ b/rootfs.py @@ -0,0 +1,54 @@ +# +# RTEMS Project (https://www.rtems.org/) +# +# Copyright (c) 2017 Chris Johns . All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +def tar(ctx, name, target, root): + top = ctx.path.get_src().find_node(root) + source = ctx.path.get_src().ant_glob(root + '/**') + ctx(rule = 'tar -C %s -cf ${TGT} .' % (top), + name = name, + target = target, + source = source, + root = root, + color = 'CYAN') + +def bin2c(ctx, name, target, source): + ctx(rule = '${RTEMS_BIN2C} ${SRC} ${TGT}', + name = name, + target = target, + source = source, + color = 'PINK') + +def build(bld, name, root): + """ The source is the C file that includes the header file.""" + tar(bld, + name = name + '-tar', + target = name + '.tar', + root = root) + bin2c(bld, + name = name, + target = name + '-tar.c', + source = name + '.tar') + bld.add_group() -- cgit v1.2.3