]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - post/Makefile
Switch from archive libraries to partial linking
[karo-tx-uboot.git] / post / Makefile
index 02b51544c2025124b75aa9f5b45c425e4ac90648..200e2f1b9adcf80ce7060efb6a2c5c48bef9b1a0 100644 (file)
 # MA 02111-1307 USA
 #
 
-include $(TOPDIR)/include/autoconf.mk
+include $(TOPDIR)/config.mk
+include $(OBJTREE)/include/autoconf.mk
 
-LIB                            = libpost.a
-GPLIB-$(CONFIG_HAS_POST)       += libgenpost.a
-COBJS-$(CONFIG_HAS_POST)       += post.o tests.o
+LIB                            = libpost.o
+GPLIB-$(CONFIG_HAS_POST)       += libgenpost.o
+COBJS-$(CONFIG_HAS_POST)       += post.o
+COBJS-$(CONFIG_POST_STD_LIST)  += tests.o
 
-SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.a
+SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.o
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH) ]; then echo \
-                           "lib_$(ARCH)/libpost$(ARCH).a"; fi)
+                           "lib_$(ARCH)/libpost$(ARCH).o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH)/fpu ]; then echo \
-                           "lib_$(ARCH)/fpu/libpost$(ARCH)fpu.a"; fi)
+                           "lib_$(ARCH)/fpu/libpost$(ARCH)fpu.o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d cpu/$(CPU) ]; then echo \
-                           "cpu/$(CPU)/libpost$(CPU).a"; fi)
+                           "cpu/$(CPU)/libpost$(CPU).o"; fi)
 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d board/$(BOARD) ]; then echo \
-                           "board/$(BOARD)/libpost$(BOARD).a"; fi)
+                           "board/$(BOARD)/libpost$(BOARD).o"; fi)
 
-GPLIB  := $(GPLIB-y)
-SPLIB  := $(SPLIB-y)
+GPLIB  := $(addprefix $(obj),$(GPLIB-y))
+SPLIB  := $(addprefix $(obj),$(SPLIB-y))
 COBJS  := $(COBJS-y)
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
@@ -46,19 +48,22 @@ LIB := $(obj)$(LIB)
 
 all:   $(LIB)
 
+postdeps:
+       @for lib in $(SPLIB-y) ; do \
+               $(MAKE) -C `dirname $$lib` all ; \
+       done
+
 # generic POST library
 $(GPLIB): $(obj).depend $(OBJS)
-       $(AR) $(ARFLAGS) $@ $(OBJS)
+       $(call cmd_link_o_target, $(OBJS))
 
 # specific POST libraries
-$(SPLIB): $(obj).depend
+$(SPLIB): $(obj).depend postdeps
        $(MAKE) -C $(dir $(subst $(obj),,$@))
 
 # the POST lib archive
 $(LIB): $(GPLIB) $(SPLIB)
-       (echo create $(LIB); for lib in $(GPLIB) $(SPLIB) ; \
-        do echo addlib $$lib; done; echo save) \
-       | $(AR) -M
+       $(call cmd_link_o_target, $^)
 
 #########################################################################