diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/Makefile.am | 10 | ||||
| -rw-r--r-- | src/tools/genboot.c | 27 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am new file mode 100644 index 0000000..b1079e7 --- /dev/null +++ b/src/tools/Makefile.am @@ -0,0 +1,10 @@ +noinst_PROGRAMS += genboot + +genboot_SOURCES = src/tools/genboot.c + +BUILT_SOURCES += $(top_builddir)/generated/boot.h +CLEANFILES += $(top_builddir)/generated/boot.h + +$(top_builddir)/generated/boot.h: genboot src/lib/boot.aplwc + $(MKDIR_P) $(top_builddir)/generated + ./genboot $(top_srcdir)/src/lib/boot.aplwc > $@ diff --git a/src/tools/genboot.c b/src/tools/genboot.c new file mode 100644 index 0000000..e89b3aa --- /dev/null +++ b/src/tools/genboot.c @@ -0,0 +1,27 @@ +#include <stdio.h> +#include <assert.h> + +int +main(int argc, char *argv[]) +{ + FILE *f; + int c, s; + + assert(argc == 2); + f = fopen(argv[1], "r"); + assert(f != NULL); + + printf("unsigned char boot_src[] = { "); + + s = 0; + while((c = fgetc(f)) != EOF){ + if(s++ > 0) + printf(", "); + printf("0x%02x", c); + } + + printf(" };\n"); + printf("unsigned int boot_src_len = %d;\n", s); + + return 0; +} |