]> git.sur5r.net Git - u-boot/commitdiff
POST: move CONFIG_POST to Makefiles
authorYuri Tikhonov <yur@emcraft.com>
Mon, 31 Mar 2008 08:51:37 +0000 (10:51 +0200)
committerWolfgang Denk <wd@denx.de>
Tue, 22 Apr 2008 12:40:19 +0000 (14:40 +0200)
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>
Makefile
include/common.h
post/Makefile
post/board/lwmon5/Makefile
post/cpu/ppc4xx/Makefile
post/drivers/Makefile
post/lib_ppc/Makefile
post/lib_ppc/fpu/Makefile
post/rules.mk

index 4fde69967aa9de194399dcbf70216b2f13559cb0..b2b59b23001fbb849856b4f8b98aaf9b218a7c50 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -233,18 +233,10 @@ LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
 LIBS += drivers/usb/libusb.a
 LIBS += drivers/video/libvideo.a
-LIBS += post/libpost.a post/drivers/libpostdrivers.a
-LIBS += $(shell if [ -d post/lib_$(ARCH) ]; then echo \
-       "post/lib_$(ARCH)/libpost$(ARCH).a"; fi)
-LIBS += $(shell if [ -d post/lib_$(ARCH)/fpu ]; then echo \
-       "post/lib_$(ARCH)/fpu/libpost$(ARCH)fpu.a"; fi)
-LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then echo \
-       "post/cpu/$(CPU)/libpost$(CPU).a"; fi)
-LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
-       "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
 LIBS += common/libcommon.a
 LIBS += libfdt/libfdt.a
 LIBS += api/libapi.a
+LIBS += post/libpost.a
 
 LIBS := $(addprefix $(obj),$(LIBS))
 .PHONY : $(LIBS) $(VERSION_FILE)
index 673afdd150b46bfda8802bf185bb93f35ff19312..8d435b97f49242aa7e1328dc1bde70bb5b650671 100644 (file)
@@ -672,4 +672,15 @@ void inline show_boot_progress (int val);
 
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 
+/* Multicore arch functions */
+#ifdef CONFIG_MP
+int cpu_status(int nr);
+int cpu_reset(int nr);
+int cpu_release(int nr, int argc, char *argv[]);
+#endif
+
+#ifdef CONFIG_POST
+#define CONFIG_HAS_POST
+#endif
+
 #endif /* __COMMON_H_ */
index f32af951624ceb56ecbc9061771e12bc10ef7ddd..02b51544c2025124b75aa9f5b45c425e4ac90648 100644 (file)
 # 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
+
+#########################################################################
index 5a92d1ce73f062cd572a69ed3b5ca6c7ae2d0952..3cb6426e4dd8903f29efb901434634170827597d 100644 (file)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
+include $(TOPDIR)/include/autoconf.mk
 
 LIB    = libpostlwmon5.a
 
-COBJS  = sysmon.o watchdog.o dspic.o fpga.o dsp.o gdc.o
+COBJS-$(CONFIG_HAS_POST)       += sysmon.o watchdog.o dspic.o fpga.o dsp.o gdc.o
 
 include $(TOPDIR)/post/rules.mk
index e3f44b7774be4f66a58a2deee954ab7a0cc9c372..7b13413b9d7e817bfa0edcdfa46b7d570bde249c 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
+include $(TOPDIR)/include/autoconf.mk
 
 LIB    = libpostppc4xx.a
 
-AOBJS   = cache_4xx.o
-COBJS  = cache.o denali_ecc.o ether.o fpu.o spr.o uart.o watchdog.o
+AOBJS-$(CONFIG_HAS_POST)       += cache_4xx.o
+COBJS-$(CONFIG_HAS_POST)       += cache.o denali_ecc.o ether.o fpu.o spr.o uart.o watchdog.o
 
 include $(TOPDIR)/post/rules.mk
index cb2f1deacd7083f50238c571c8fcd90c2226c148..0b6cdf58c9bb1439546ab289743aac2255b9ecd9 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
-
-
-SUBDIRS =
+include $(TOPDIR)/config.mk
 
 LIB    = libpostdrivers.a
 
-COBJS  = i2c.o memory.o rtc.o
+COBJS-$(CONFIG_HAS_POST)       += i2c.o memory.o rtc.o
 
 include $(TOPDIR)/post/rules.mk
index 9f1b329d70be472c92b1a948c62f510521ca671c..bd7a23299206d11d2f62d510987aa1e793ac0a63 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
-
-SUBDIRS = fpu
+include $(TOPDIR)/config.mk
 
 LIB    = libpostppc.a
 
-AOBJS  = asm.o
-COBJS  = cpu.o cmp.o cmpi.o two.o twox.o three.o threex.o
-COBJS   += threei.o andi.o srawi.o rlwnm.o rlwinm.o rlwimi.o
-COBJS  += store.o load.o cr.o b.o multi.o string.o complex.o
+AOBJS-$(CONFIG_HAS_POST)       += asm.o
+COBJS-$(CONFIG_HAS_POST)       += cpu.o cmp.o cmpi.o two.o twox.o three.o threex.o
+COBJS-$(CONFIG_HAS_POST)   += threei.o andi.o srawi.o rlwnm.o rlwinm.o rlwimi.o
+COBJS-$(CONFIG_HAS_POST)       += store.o load.o cr.o b.o multi.o string.o complex.o
 
 include $(TOPDIR)/post/rules.mk
index 82646c80d65676772710a60eb8ab5173f9e88a75..db435931d8d1e5206a966992e151d6b270ad6b1a 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
-
+include $(TOPDIR)/config.mk
 
 LIB    = libpostppcfpu.a
 
-COBJS  += fpu.o 20001122-1.o 20010114-2.o 20010226-1.o 980619-1.o
-COBJS  += acc1.o compare-fp-1.o mul-subnormal-single-1.o
+COBJS-$(CONFIG_HAS_POST)       += fpu.o 20001122-1.o 20010114-2.o 20010226-1.o 980619-1.o
+COBJS-$(CONFIG_HAS_POST)       += acc1.o compare-fp-1.o mul-subnormal-single-1.o
 
 include $(TOPDIR)/post/rules.mk
 
index e2c73c6004a879823b93b1d68e8091dc6f9bf4a3..94e72bec62a086a3703e132de753e1286237b05d 100644 (file)
@@ -23,6 +23,8 @@
 
 include $(TOPDIR)/config.mk
 
+COBJS  := $(COBJS-y)
+AOBJS  := $(AOBJS-y)
 SRCS   := $(AOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(AOBJS) $(COBJS))
 LIB    := $(obj)$(LIB)