]> git.ipfire.org Git - people/ms/u-boot.git/blob - post/Makefile
Switch from archive libraries to partial linking
[people/ms/u-boot.git] / post / Makefile
1 #
2 # (C) Copyright 2002-2006
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 #
5 # See file CREDITS for list of people who contributed to this
6 # project.
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License as
10 # published by the Free Software Foundation; either version 2 of
11 # the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 # MA 02111-1307 USA
22 #
23
24 include $(TOPDIR)/config.mk
25 include $(OBJTREE)/include/autoconf.mk
26
27 LIB = libpost.o
28 GPLIB-$(CONFIG_HAS_POST) += libgenpost.o
29 COBJS-$(CONFIG_HAS_POST) += post.o
30 COBJS-$(CONFIG_POST_STD_LIST) += tests.o
31
32 SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.o
33 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH) ]; then echo \
34 "lib_$(ARCH)/libpost$(ARCH).o"; fi)
35 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH)/fpu ]; then echo \
36 "lib_$(ARCH)/fpu/libpost$(ARCH)fpu.o"; fi)
37 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d cpu/$(CPU) ]; then echo \
38 "cpu/$(CPU)/libpost$(CPU).o"; fi)
39 SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d board/$(BOARD) ]; then echo \
40 "board/$(BOARD)/libpost$(BOARD).o"; fi)
41
42 GPLIB := $(addprefix $(obj),$(GPLIB-y))
43 SPLIB := $(addprefix $(obj),$(SPLIB-y))
44 COBJS := $(COBJS-y)
45 SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
46 OBJS := $(addprefix $(obj),$(COBJS))
47 LIB := $(obj)$(LIB)
48
49 all: $(LIB)
50
51 postdeps:
52 @for lib in $(SPLIB-y) ; do \
53 $(MAKE) -C `dirname $$lib` all ; \
54 done
55
56 # generic POST library
57 $(GPLIB): $(obj).depend $(OBJS)
58 $(call cmd_link_o_target, $(OBJS))
59
60 # specific POST libraries
61 $(SPLIB): $(obj).depend postdeps
62 $(MAKE) -C $(dir $(subst $(obj),,$@))
63
64 # the POST lib archive
65 $(LIB): $(GPLIB) $(SPLIB)
66 $(call cmd_link_o_target, $^)
67
68 #########################################################################
69
70 # defines $(obj).depend target
71 include $(SRCTREE)/rules.mk
72
73 sinclude $(obj).depend
74
75 #########################################################################