]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - tools/Makefile
Merge commit 'wd/master'
[karo-tx-uboot.git] / tools / Makefile
index 41bcc59d16b92a8c57abe170b9e70d026042166b..af0de477cd8623cce4f8da970ce28f0c9e58667b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000, 2001
+# (C) Copyright 2000-2006
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
 # MA 02111-1307 USA
 #
 
-BINS   = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
+BIN_FILES      = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) ubsha1$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
 
-OBJS   = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o
+OBJ_LINKS      = environment.o crc32.o sha1.o
+OBJ_FILES      = img2srec.o mkimage.o envcrc.o ubsha1.o gen_eth_addr.o bmp_logo.o
 
-LOGO_H = $(TOPDIR)/include/bmp_logo.h
+ifeq ($(ARCH),mips)
+BIN_FILES      += inca-swap-bytes$(SFX)
+OBJ_FILES      += inca-swap-bytes.o
+endif
+
+# Don't build by default
+#ifeq ($(ARCH),ppc)
+#BIN_FILES             += mpc86x_clk$(SFX)
+#OBJ_FILES     += mpc86x_clk.o
+#endif
+
+LOGO_H = $(OBJTREE)/include/bmp_logo.h
 
 ifeq ($(LOGO_BMP),)
 LOGO_BMP= logos/denx.bmp
@@ -60,16 +72,11 @@ TOOLSUBDIRS =
 # -multiply_defined suppress option to turn off this error.
 #
 ifeq ($(HOSTOS)-$(HOSTARCH),darwin-ppc)
-TOOLSUBDIRS+= gdb
 HOST_CFLAGS = -traditional-cpp -Wall
 HOST_LDFLAGS =-multiply_defined suppress
-HOST_ENVIRO_CFLAGS = -traditional-cpp
+HOST_ENVIRO_CFLAGS =
 
 else
-#
-# The gdb tools won't build natively on NetBSD since bfd.h (and ansidecl.h)
-# are not installed -- just skip them, they are not really essential.
-#
 ifeq ($(HOSTOS)-$(HOSTARCH),netbsd-ppc)
 HOST_CFLAGS = -Wall -pedantic
 HOST_LDFLAGS =
@@ -79,7 +86,6 @@ HOST_ENVIRO_CFLAGS =
 # Everyone else
 #
 else
-TOOLSUBDIRS+= gdb
 HOST_CFLAGS = -Wall -pedantic
 HOST_LDFLAGS =
 HOST_ENVIRO_CFLAGS =
@@ -91,61 +97,101 @@ endif
 #
 ifeq ($(HOSTOS),cygwin)
 SFX = .exe
+HOST_CFLAGS += -ansi
 else
 SFX =
 endif
 
-
 #
 # Include this after HOSTOS HOSTARCH check
 # so that we can act intelligently.
 #
 include $(TOPDIR)/config.mk
 
+# now $(obj) is defined
+SRCS   := $(addprefix $(obj),$(OBJ_LINKS:.o=.c)) $(OBJ_FILES:.o=.c)
+BINS   := $(addprefix $(obj),$(BIN_FILES))
+
 #
 # Use native tools and options
 #
-CPPFLAGS   = -I../include -I.. -DTEXT_BASE=$(TEXT_BASE) -DUSE_HOSTCC
+CPPFLAGS   = -idirafter $(SRCTREE)/include \
+               -idirafter $(OBJTREE)/include2 \
+               -idirafter $(OBJTREE)/include \
+               -DTEXT_BASE=$(TEXT_BASE) -DUSE_HOSTCC
 CFLAGS     = $(HOST_CFLAGS) $(CPPFLAGS) -O
 AFLAGS    = -D__ASSEMBLY__ $(CPPFLAGS)
 CC        = $(HOSTCC)
 STRIP     = $(HOSTSTRIP)
 MAKEDEPEND = makedepend
 
-all:   .depend $(BINS) $(LOGO_H) subdirs
+all:   $(obj).depend $(BINS) $(LOGO_H) subdirs
 
-envcrc$(SFX):  envcrc.o crc32.o environment.o
+$(obj)envcrc$(SFX):    $(obj)envcrc.o $(obj)crc32.o $(obj)environment.o $(obj)sha1.o
                $(CC) $(CFLAGS) -o $@ $^
 
-img2srec$(SFX):        img2srec.o
+$(obj)ubsha1$(SFX):    $(obj)ubsha1.o $(obj)sha1.o
+               $(CC) $(CFLAGS) -o $@ $^
+
+$(obj)img2srec$(SFX):  $(obj)img2srec.o
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
-mkimage$(SFX): mkimage.o crc32.o
+$(obj)mkimage$(SFX):   $(obj)mkimage.o $(obj)crc32.o
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
-gen_eth_addr$(SFX):    gen_eth_addr.o
+$(obj)ncb$(SFX):       $(obj)ncb.o
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
-bmp_logo$(SFX):        bmp_logo.o
+$(obj)gen_eth_addr$(SFX):      $(obj)gen_eth_addr.o
                $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
                $(STRIP) $@
 
-envcrc.o:      envcrc.c
-               $(CC) -g $(CFLAGS) -c $<
+$(obj)bmp_logo$(SFX):  $(obj)bmp_logo.o
+               $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
+               $(STRIP) $@
 
-crc32.o:       crc32.c
-               $(CC) -g $(CFLAGS) -c $<
+$(obj)inca-swap-bytes$(SFX):   $(obj)inca-swap-bytes.o
+               $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
+               $(STRIP) $@
 
-mkimage.o:     mkimage.c
-               $(CC) -g $(CFLAGS) -c $<
+$(obj)mpc86x_clk$(SFX):        $(obj)mpc86x_clk.o
+               $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
+               $(STRIP) $@
+
+$(obj)envcrc.o:        $(src)envcrc.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)ubsha1.o:        $(src)ubsha1.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)crc32.o: $(obj)crc32.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)sha1.o:  $(obj)sha1.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)mkimage.o:       $(src)mkimage.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)ncb.o:           $(src)ncb.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
 
-gen_eth_addr.o:        gen_eth_addr.c
-               $(CC) -g $(CFLAGS) -c $<
+$(obj)gen_eth_addr.o:  $(src)gen_eth_addr.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)inca-swap-bytes.o:       $(src)inca-swap-bytes.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
+
+$(obj)mpc86x_clk.o:    $(src)mpc86x_clk.c
+               $(CC) -g $(CFLAGS) -c -o $@ $<
 
 subdirs:
+ifeq ($(TOOLSUBDIRS),)
+               @:
+else
                @for dir in $(TOOLSUBDIRS) ; do \
                    $(MAKE) \
                        HOSTOS=$(HOSTOS) \
@@ -154,24 +200,31 @@ subdirs:
                        HOST_LDFLAGS="$(HOST_LDFLAGS)" \
                        -C $$dir || exit 1 ; \
                done
-environment.c:
-               ln -s ../common/environment.c environment.c
+endif
 
-environment.o: environment.c
-               $(CC) -g $(HOST_ENVIRO_CFLAGS) $(CPPFLAGS) -c $<
+$(obj)environment.c:
+               @rm -f $(obj)environment.c
+               ln -s $(src)../common/environment.c $(obj)environment.c
 
-crc32.c:
-               ln -s ../lib_generic/crc32.c crc32.c
+$(obj)environment.o:   $(obj)environment.c
+               $(CC) -g $(HOST_ENVIRO_CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
-$(LOGO_H):     bmp_logo $(LOGO_BMP)
-               ./bmp_logo $(LOGO_BMP) >$@
+$(obj)crc32.c:
+               @rm -f $(obj)crc32.c
+               ln -s $(src)../lib_generic/crc32.c $(obj)crc32.c
+
+$(obj)sha1.c:
+               @rm -f $(obj)sha1.c
+               ln -s $(src)../lib_generic/sha1.c $(obj)sha1.c
+
+$(LOGO_H):     $(obj)bmp_logo $(LOGO_BMP)
+               $(obj)./bmp_logo $(LOGO_BMP) >$@
 
 #########################################################################
 
-.depend:       Makefile $(OBJS:.o=.c)
-               $(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) $(OBJS:.o=.c) > $@
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
 
-sinclude .depend
+sinclude $(obj).depend
 
 #########################################################################
-