libpayload: Rename Geode video driver to Geode LX video driver.
[coreboot.git] / payloads / libpayload / Makefile
index b862f8da0f8159bfeb3bfadfd6306bb256162a40..d5b29e22f0e46a5cfa62e61fde0916578f6844c9 100644 (file)
@@ -49,6 +49,7 @@ ifneq ($(V),1)
 Q := @
 endif
 
+CC = gcc
 HOSTCC = gcc
 HOSTCXX = g++
 HOSTCFLAGS := -I$(srck) -I$(objk)
@@ -56,6 +57,9 @@ HOSTCXXFLAGS := -I$(srck) -I$(objk)
 
 DESTDIR = /opt
 
+DOXYGEN := doxygen
+DOXYGEN_OUTPUT_DIR := doxygen
+
 ifeq ($(strip $(HAVE_DOTCONFIG)),)
 
 all: config
@@ -91,14 +95,14 @@ $(CC) $(1) -S -xc /dev/null -o "$$TMP", $(1), $(2))
 STACKPROTECT += $(call cc-option, -fno-stack-protector,)
 
 # TODO: Re-add -Os as soon as we find out why it caused problems.
-CFLAGS := -Wall -Werror $(STACKPROTECT) -nostdinc $(INCLUDES)
+CFLAGS := -Wall -Werror $(STACKPROTECT) -nostdinc $(INCLUDES) -ffreestanding
 
 all: lib
 
 lib: prepare $(obj)/lib/libpayload.a copystuff
 
 # Copy libpayload.a and head.o into $(src)/lib where lpgcc et al expect them.
-copystuff:
+copystuff: $(obj)/$(ARCHDIR-y)/head.S.o $(obj)/lib/libpayload.a
        $(Q)cp $(obj)/$(ARCHDIR-y)/head.S.o $(src)/lib/$(ARCHDIR-y)/head.o
        $(Q)cp $(obj)/lib/libpayload.a $(src)/lib
 
@@ -134,10 +138,19 @@ install: lib
 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)/i386 $(obj)/lib/$(ARCHDIR-y) $(obj)/libc 
        $(Q)mkdir -p $(src)/lib/$(ARCHDIR-y)
 
-clean:
+doxy: doxygen
+doxygen:
+       $(Q)$(DOXYGEN) Doxyfile
+
+doxyclean: doxygen-clean
+doxygen-clean:
+       $(Q)rm -rf $(DOXYGEN_OUTPUT_DIR)
+
+clean: doxygen-clean
        $(Q)rm -rf $(obj)/crypto $(obj)/curses $(obj)/drivers
        $(Q)rm -rf $(obj)/i386 $(obj)/lib $(obj)/libc 
        $(Q)rm -rf $(src)/lib/i386 $(src)/lib/libpayload.a
@@ -148,5 +161,5 @@ distclean: clean
 
 include util/kconfig/Makefile
 
-.PHONY: $(PHONY) prepare clean distclean
+.PHONY: $(PHONY) prepare clean distclean doxygen doxy