POST: move CONFIG_POST to Makefiles

Introduce the new logical option CONFIG_HAS_POST which is set when the
platform has CONFIG_POST set. Use CONFIG_HAS_POST in the post/ Makefiles
to determine should the POST libs be compiled for the selected target
platform, or not.

To avoid breaking u-boot linking process, the empty post/libpost.a file is
created for platforms which do not have POSTs.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
Yuri Tikhonov
2008-03-31 10:51:37 +02:00
committed by Wolfgang Denk
parent 0a51e9248e
commit 2d2b994a30
9 changed files with 72 additions and 29 deletions

View File

@@ -21,11 +21,50 @@
# MA 02111-1307 USA
#
include $(TOPDIR)/include/autoconf.mk
SUBDIRS = drivers cpu lib_$(ARCH) board/$(BOARDDIR)
LIB = libpost.a
GPLIB-$(CONFIG_HAS_POST) += libgenpost.a
COBJS-$(CONFIG_HAS_POST) += post.o tests.o
LIB = libpost.a
SPLIB-$(CONFIG_HAS_POST) = drivers/libpostdrivers.a
SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH) ]; then echo \
"lib_$(ARCH)/libpost$(ARCH).a"; fi)
SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d lib_$(ARCH)/fpu ]; then echo \
"lib_$(ARCH)/fpu/libpost$(ARCH)fpu.a"; fi)
SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d cpu/$(CPU) ]; then echo \
"cpu/$(CPU)/libpost$(CPU).a"; fi)
SPLIB-$(CONFIG_HAS_POST) += $(shell if [ -d board/$(BOARD) ]; then echo \
"board/$(BOARD)/libpost$(BOARD).a"; fi)
COBJS = post.o tests.o
GPLIB := $(GPLIB-y)
SPLIB := $(SPLIB-y)
COBJS := $(COBJS-y)
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))
LIB := $(obj)$(LIB)
include $(TOPDIR)/post/rules.mk
all: $(LIB)
# generic POST library
$(GPLIB): $(obj).depend $(OBJS)
$(AR) $(ARFLAGS) $@ $(OBJS)
# specific POST libraries
$(SPLIB): $(obj).depend
$(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
#########################################################################
# defines $(obj).depend target
include $(SRCTREE)/rules.mk
sinclude $(obj).depend
#########################################################################