2 ## This file is part of the coreinfo project.
4 ## Copyright (C) 2008 Advanced Micro Devices, Inc.
5 ## Copyright (C) 2008 Uwe Hermann <uwe@hermann-uwe.de>
7 ## This program is free software; you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation; version 2 of the License.
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ## GNU General Public License for more details.
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, write to the Free Software
18 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 export src
:= $(shell pwd
)
22 export srctree
:= $(src
)
23 export srck
:= $(src
)/util
/kconfig
24 export obj
:= $(src
)/build
25 export objk
:= $(src
)/build
/util
/kconfig
27 export KERNELVERSION
:= 0.1.0
28 export KCONFIG_AUTOHEADER
:= $(obj
)/config.h
29 export KCONFIG_AUTOCONFIG
:= $(obj
)/auto.conf
32 KBUILD_DEFCONFIG
:= configs
/defconfig
33 UNAME_RELEASE
:= $(shell uname
-r
)
34 HAVE_DOTCONFIG
:= $(wildcard .config
)
35 MAKEFLAGS
+= -rR
--no-print-directory
37 # Make is silent per default, but 'make V=1' will show all compiler calls.
44 HOSTCFLAGS
:= -I
$(srck
) -I
$(objk
)
45 HOSTCXXFLAGS
:= -I
$(srck
) -I
$(objk
)
47 LIBPAYLOAD_DIR
:= ..
/libpayload
/install/libpayload
48 XCC
:= CC
=$(CC
) $(LIBPAYLOAD_DIR
)/bin
/lpgcc
49 AS
= $(LIBPAYLOAD_DIR
)/bin
/lpas
53 CFLAGS
:= -Wall
-Werror
-Os
$(INCLUDES
)
54 OBJECTS
= cpuinfo_module.o cpuid.S.o pci_module.o coreboot_module.o \
55 nvram_module.o bootlog_module.o ramdump_module.o lar_module.o \
56 multiboot_module.o cbfs_module.o coreinfo.o
57 OBJS
= $(patsubst %,$(obj
)/%,$(OBJECTS
))
58 TARGET
= $(obj
)/coreinfo.elf
60 ifeq ($(strip $(HAVE_DOTCONFIG
)),)
66 include $(src
)/.config
70 $(TARGET
): $(src
)/.config
$(OBJS
) prepare
71 $(Q
)printf
" LD $(subst $(shell pwd)/,,$(@))\n"
72 $(Q
)$(XCC
) -o
$@
$(OBJS
)
73 $(Q
)printf
" STRIP $(subst $(shell pwd)/,,$(@))\n"
76 $(obj
)/%.S.o
: $(src
)/%.S
77 $(Q
)printf
" AS $(subst $(shell pwd)/,,$(@))\n"
80 $(obj
)/%.o
: $(src
)/%.c
81 $(Q
)printf
" CC $(subst $(shell pwd)/,,$(@))\n"
82 $(Q
)$(XCC
) $(CFLAGS
) -c
-o
$@
$<
87 $(Q
)mkdir
-p
$(obj
)/util
/kconfig
/lxdialog
90 $(Q
)rm -rf build
/*.elf build
/*.o
94 $(Q
)rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig
*
96 include util
/kconfig
/Makefile
98 .PHONY
: $(PHONY
) prepare
clean distclean