Stub out FILE*, stdout/stdin/stderr and implement fprintf on these
[coreboot.git] / payloads / libpayload / Makefile
index 94a6f172018f457aab851b9d2a1e623078c1db14..4363590a143aa15f966f2bd4103bbc74ceebe528 100644 (file)
@@ -49,13 +49,16 @@ ifneq ($(V),1)
 Q := @
 endif
 
-CC = gcc
+$(if $(wildcard .xcompile),,$(eval $(shell bash util/xcompile/xcompile > .xcompile)))
+include .xcompile
+
+CC ?= gcc
 HOSTCC = gcc
 HOSTCXX = g++
 HOSTCFLAGS := -I$(srck) -I$(objk) -pipe
 HOSTCXXFLAGS := -I$(srck) -I$(objk) -pipe
 
-DESTDIR = /opt
+DESTDIR = $(src)/install
 
 DOXYGEN := doxygen
 DOXYGEN_OUTPUT_DIR := doxygen
@@ -74,7 +77,7 @@ ARCHDIR-$(CONFIG_TARGET_POWERPC) := powerpc
 PLATFORM-y += arch/$(ARCHDIR-y)/Makefile.inc
 TARGETS-y :=
 
-BUILD-y := crypto/Makefile.inc libc/Makefile.inc drivers/Makefile.inc
+BUILD-y := crypto/Makefile.inc libc/Makefile.inc drivers/Makefile.inc libpci/Makefile.inc
 BUILD-$(CONFIG_TINYCURSES) += curses/Makefile.inc
 
 # The primary target needs to be here before we include the
@@ -121,6 +124,7 @@ install: lib
        $(Q)printf "  INSTALL $(DESTDIR)/libpayload/lib\n"
        $(Q)install -m 755 -d $(DESTDIR)/libpayload/lib
        $(Q)install -m 644 $(obj)/lib/libpayload.a $(DESTDIR)/libpayload/lib/
+       $(Q)install -m 644 lib/libpayload.ldscript $(DESTDIR)/libpayload/lib/
        $(Q)install -m 755 -d $(DESTDIR)/libpayload/lib/$(ARCHDIR-y)
        $(Q)install -m 644 $(obj)/lib/$(ARCHDIR-y)/head.o $(DESTDIR)/libpayload/lib/$(ARCHDIR-y)
        $(Q)printf "  INSTALL $(DESTDIR)/libpayload/include\n"
@@ -141,7 +145,7 @@ prepare:
        $(Q)mkdir -p $(obj)/util/kconfig/lxdialog
        $(Q)mkdir -p $(obj)/crypto $(obj)/curses $(obj)/drivers/video
        $(Q)mkdir -p $(obj)/drivers/usb
-       $(Q)mkdir -p $(obj)/arch/$(ARCHDIR-y) $(obj)/lib/$(ARCHDIR-y) $(obj)/libc 
+       $(Q)mkdir -p $(obj)/arch/$(ARCHDIR-y) $(obj)/lib/$(ARCHDIR-y) $(obj)/libc $(obj)/libpci
        $(Q)mkdir -p $(obj)/lib/$(ARCHDIR-y)
        $(Q)mkdir -p $(obj)/include
 
@@ -155,11 +159,11 @@ doxygen-clean:
 
 clean: doxygen-clean
        $(Q)rm -rf $(obj)/crypto $(obj)/curses $(obj)/drivers
-       $(Q)rm -rf $(obj)/i386 $(obj)/powerpc $(obj)/lib $(obj)/libc 
+       $(Q)rm -rf $(obj)/i386 $(obj)/powerpc $(obj)/lib $(obj)/libc
 
 distclean: clean
        $(Q)rm -rf build # should be $(obj) ?
-       $(Q)rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig*
+       $(Q)rm -f .config .config.old .xcompile ..config.tmp .kconfig.d .tmpconfig*
 
 # This include must come _before_ the pattern rules below!
 # Order _does_ matter for pattern rules.
@@ -178,5 +182,5 @@ $(obj)/%.S.o: $(src)/%.S
 
 endif
 
-.PHONY: $(PHONY) prepare clean distclean doxygen doxy
+.PHONY: $(PHONY) prepare install clean distclean doxygen doxy