summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBartlomiej Sieka <tur@semihalf.com>2008-02-29 16:00:24 +0100
committerMarian Balakowicz <m8@semihalf.com>2008-02-29 16:00:24 +0100
commit8cf30809a82902a471866d2f07725ce3b8a22291 (patch)
tree87ab025457f538b8313c418ffab396f68b5f2821 /tools
parenta6e530f00d31a8494a0422799b2b9a692a9c0eb9 (diff)
downloadu-boot-8cf30809a82902a471866d2f07725ce3b8a22291.tar.gz
u-boot-8cf30809a82902a471866d2f07725ce3b8a22291.tar.bz2
u-boot-8cf30809a82902a471866d2f07725ce3b8a22291.zip
[new uImage] Add libfdt support to mkimage
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/.gitignore7
-rw-r--r--tools/Makefile51
-rw-r--r--tools/fdt_host.h28
-rw-r--r--tools/mkimage.h1
4 files changed, 84 insertions, 3 deletions
diff --git a/tools/.gitignore b/tools/.gitignore
index c33679a9d2..0ce2e77bd6 100644
--- a/tools/.gitignore
+++ b/tools/.gitignore
@@ -7,3 +7,10 @@
/mkimage
/sha1.c
/ubsha1
+/image.c
+/fdt.c
+/fdt_ro.c
+/fdt_rw.c
+/fdt_strerror.c
+/fdt_wip.c
+/libfdt_internal.h
diff --git a/tools/Makefile b/tools/Makefile
index 0cc4cc9d17..aa4af1823b 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -37,6 +37,8 @@ endif
#OBJ_FILES += mpc86x_clk.o
#endif
+LIBFDT_OBJ_FILES = fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o
+
LOGO_H = $(OBJTREE)/include/bmp_logo.h
ifeq ($(LOGO_BMP),)
@@ -120,6 +122,10 @@ CPPFLAGS = -idirafter $(SRCTREE)/include \
-idirafter $(OBJTREE)/include \
-DTEXT_BASE=$(TEXT_BASE) -DUSE_HOSTCC
CFLAGS = $(HOST_CFLAGS) $(CPPFLAGS) -O
+
+# No -pedantic switch to avoid libfdt compilation warnings
+FIT_CFLAGS = -Wall $(CPPFLAGS) -O
+
AFLAGS = -D__ASSEMBLY__ $(CPPFLAGS)
CC = $(HOSTCC)
STRIP = $(HOSTSTRIP)
@@ -137,7 +143,7 @@ $(obj)img2srec$(SFX): $(obj)img2srec.o
$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
$(STRIP) $@
-$(obj)mkimage$(SFX): $(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)sha1.o
+$(obj)mkimage$(SFX): $(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)sha1.o $(LIBFDT_OBJ_FILES)
$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
$(STRIP) $@
@@ -174,10 +180,10 @@ $(obj)sha1.o: $(obj)sha1.c
$(CC) -g $(CFLAGS) -c -o $@ $<
$(obj)image.o: $(obj)image.c
- $(CC) -g $(CFLAGS) -c -o $@ $<
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
$(obj)mkimage.o: $(src)mkimage.c
- $(CC) -g $(CFLAGS) -c -o $@ $<
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
$(obj)ncb.o: $(src)ncb.c
$(CC) -g $(CFLAGS) -c -o $@ $<
@@ -191,6 +197,21 @@ $(obj)inca-swap-bytes.o: $(src)inca-swap-bytes.c
$(obj)mpc86x_clk.o: $(src)mpc86x_clk.c
$(CC) -g $(CFLAGS) -c -o $@ $<
+$(obj)fdt.o: $(obj)fdt.c
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
+
+$(obj)fdt_ro.o: $(obj)fdt_ro.c
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
+
+$(obj)fdt_rw.o: $(obj)fdt_rw.c
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
+
+$(obj)fdt_strerror.o: $(obj)fdt_strerror.c
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
+
+$(obj)fdt_wip.o: $(obj)fdt_wip.c
+ $(CC) -g $(FIT_CFLAGS) -c -o $@ $<
+
subdirs:
ifeq ($(TOOLSUBDIRS),)
@:
@@ -224,6 +245,30 @@ $(obj)image.c:
@rm -f $(obj)image.c
ln -s $(src)../common/image.c $(obj)image.c
+$(obj)fdt.c: libfdt_internal.h
+ @rm -f $(obj)fdt.c
+ ln -s $(src)../libfdt/fdt.c $(obj)fdt.c
+
+$(obj)fdt_ro.c: libfdt_internal.h
+ @rm -f $(obj)fdt_ro.c
+ ln -s $(src)../libfdt/fdt_ro.c $(obj)fdt_ro.c
+
+$(obj)fdt_rw.c: libfdt_internal.h
+ @rm -f $(obj)fdt_rw.c
+ ln -s $(src)../libfdt/fdt_rw.c $(obj)fdt_rw.c
+
+$(obj)fdt_strerror.c: libfdt_internal.h
+ @rm -f $(obj)fdt_strerror.c
+ ln -s $(src)../libfdt/fdt_strerror.c $(obj)fdt_strerror.c
+
+$(obj)fdt_wip.c: libfdt_internal.h
+ @rm -f $(obj)fdt_wip.c
+ ln -s $(src)../libfdt/fdt_wip.c $(obj)fdt_wip.c
+
+$(obj)libfdt_internal.h:
+ @rm -f $(obj)libfdt_internal.h
+ ln -s $(src)../libfdt/libfdt_internal.h $(obj)libfdt_internal.h
+
$(LOGO_H): $(obj)bmp_logo $(LOGO_BMP)
$(obj)./bmp_logo $(LOGO_BMP) >$@
diff --git a/tools/fdt_host.h b/tools/fdt_host.h
new file mode 100644
index 0000000000..085013e02e
--- /dev/null
+++ b/tools/fdt_host.h
@@ -0,0 +1,28 @@
+/*
+ * (C) Copyright 2008 Semihalf
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __FDT_HOST_H__
+#define __FDT_HOST_H__
+
+/* Make sure to include u-boot version of libfdt include files */
+#include "../include/fdt.h"
+#include "../include/libfdt.h"
+#include "../include/fdt_support.h"
+
+#endif /* __FDT_HOST_H__ */
diff --git a/tools/mkimage.h b/tools/mkimage.h
index a01977ee65..cdd52bc9c2 100644
--- a/tools/mkimage.h
+++ b/tools/mkimage.h
@@ -33,6 +33,7 @@
#include <time.h>
#include <unistd.h>
#include <sha1.h>
+#include "fdt_host.h"
#if defined(__BEOS__) || defined(__NetBSD__) || defined(__APPLE__)
#include <inttypes.h>