summaryrefslogtreecommitdiff
path: root/filesystem
diff options
context:
space:
mode:
authorGedare Bloom <gedare@rtems.org>2013-11-22 17:08:24 -0500
committerGedare Bloom <gedare@rtems.org>2013-12-12 14:55:54 -0500
commitdefab8351192623a507afc6124176c7cd4807a67 (patch)
tree4fdcf36dd50e2f603cb86b2346dc69d402c95fef /filesystem
parentb9cf40d39d52ea7f1551cf01a8e6c80358151db2 (diff)
filesystem: Update wscript. compiles now to make it better
Diffstat (limited to 'filesystem')
-rw-r--r--filesystem/fat_ramdisk/wscript29
1 files changed, 20 insertions, 9 deletions
diff --git a/filesystem/fat_ramdisk/wscript b/filesystem/fat_ramdisk/wscript
index d480ee5..ace27cc 100644
--- a/filesystem/fat_ramdisk/wscript
+++ b/filesystem/fat_ramdisk/wscript
@@ -6,9 +6,24 @@
# Waf build script for RTEMS fat_ramdisk
import rtems_waf.rtems as rtems
-
+import os
version = "1.0.0"
+## TODO: Move this somewhere more general
+from waflib.Task import Task
+from waflib.TaskGen import extension
+
+class bin2c(Task):
+ run_str = 'rtems-bin2c ${SRC} ${TGT[0].abspath()} && touch ${TGT[1].abspath()}'
+ ext_out = ['.h']
+
+@extension('FilesystemImage')
+def process_tarfs(self, node):
+ c_node = node.change_ext('.c')
+ h_node = node.change_ext('.h')
+ self.create_task('bin2c', node, [c_node, h_node])
+ self.source.append(c_node)
+
def build(bld):
rtems.build(bld)
@@ -22,18 +37,14 @@ def build(bld):
#
bld.includes = ['.']
bld.defines = ['PACKAGE_VERSION="' + version + '"']
-
- generate_fs = 'cd rootfs ; tar cf ../FilesystemImage .'
- generate_fs = generate_fs + ' ; cd .. ; '
- generate_fs = generate_fs + 'rtems-bin2c FilesystemImage FilesystemImage'
- bld(rule=generate_fs,
- source='rootfs/shell-init',
- target=['FilesystemImage.c','FilesystemImage.h'])
+ bld(rule='tar -C ' + bld.path.find_dir('rootfs').abspath() + \
+ ' -cf ${TGT} .',
+ target='FilesystemImage')
bld(features = 'c cprogram',
target = 'fat_ramdisk.exe',
includes = bld.includes,
defines = bld.defines,
cflags = cflags,
- source = ['init.c', 'FilesystemImage.c', 'FilesystemImage.h'])
+ source = 'init.c FilesystemImage')