1 # Build the OpenBIOS payload
3 OPENBIOS_SVN_URL
=svn
://openbios.org
/openbios
/openbios-devel
6 OPENBIOS_DIR
=$(BUILD_DIR
)/openbios
7 OPENBIOS_SRC_DIR
=$(OPENBIOS_DIR
)/svn
8 OPENBIOS_BUILD_DIR
=$(OPENBIOS_DIR
)/svn
9 OPENBIOS_STAMP_DIR
=$(OPENBIOS_DIR
)/stamps
10 OPENBIOS_LOG_DIR
=$(OPENBIOS_DIR
)/logs
12 OPENBIOS_OUTPUT
=$(OPENBIOS_SRC_DIR
)/obj-x86
/openbios-builtin.elf
14 OPENBIOS_TARBALL
=openbios-svn-
$(OPENBIOS_SVN_TAG
).
tar.gz
17 ifeq ($(CONFIG_VERBOSE
),y
)
18 OPENBIOS_FETCH_LOG
=/dev
/stdout
19 OPENBIOS_BUILD_LOG
=/dev
/stdout
20 OPENBIOS_CONFIG_LOG
=/dev
/stdout
22 OPENBIOS_FETCH_LOG
=$(OPENBIOS_LOG_DIR
)/fetch.log
23 OPENBIOS_BUILD_LOG
=$(OPENBIOS_LOG_DIR
)/build.log
24 OPENBIOS_CONFIG_LOG
=$(OPENBIOS_LOG_DIR
)/config.log
27 # Check for fcode-utils.
28 HAVE_FCODE_UTILS
:=$(call find-tool
,detok
)
30 ifeq ($(HAVE_FCODE_UTILS
),n
)
31 $(error To build OpenBIOS
, you need to
install 'fcode-utils')
34 $(SOURCE_DIR
)/$(OPENBIOS_TARBALL
):
35 @ echo
"Fetching OpenBIOS..."
36 @ echo
"SVN Checkout rev $(OPENBIOS_SVN_TAG)"
37 @
$(BIN_DIR
)/fetchsvn.sh
$(OPENBIOS_SVN_URL
) $(SOURCE_DIR
)/openbios \
38 $(OPENBIOS_SVN_TAG
) $@
> $(OPENBIOS_FETCH_LOG
) 2>&1
40 $(OPENBIOS_STAMP_DIR
)/.unpacked
: $(SOURCE_DIR
)/$(OPENBIOS_TARBALL
)
41 @ echo
"Unpacking OpenBIOS..."
42 @
tar -C
$(OPENBIOS_DIR
) -xf
$(SOURCE_DIR
)/$(OPENBIOS_TARBALL
)
45 $(OPENBIOS_STAMP_DIR
)/.patched
: $(OPENBIOS_STAMP_DIR
)/.unpacked
46 @ echo
"Patching OpenBIOS..."
47 @
$(BIN_DIR
)/doquilt.sh
$(OPENBIOS_SRC_DIR
) $(OPENBIOS_PATCHES
)
50 $(OPENBIOS_STAMP_DIR
)/.configured
: $(OPENBIOS_STAMP_DIR
)/.patched
51 @ echo
"Configuring OpenBIOS..."
52 @
(cd
$(OPENBIOS_SRC_DIR
); config
/scripts
/switch-arch x86
> $(OPENBIOS_CONFIG_LOG
) 2>&1)
55 $(OPENBIOS_OUTPUT
): $(OPENBIOS_STAMP_DIR
)/.configured
56 @ echo
"Building OpenBIOS..."
57 @
(cd
$(OPENBIOS_BUILD_DIR
); make
> $(OPENBIOS_BUILD_LOG
) 2>&1)
59 $(OPENBIOS_STAMP_DIR
) $(OPENBIOS_LOG_DIR
):
62 openbios
: $(OPENBIOS_STAMP_DIR
) $(OPENBIOS_LOG_DIR
) $(OPENBIOS_OUTPUT
)
63 @ mkdir
-p
$(OUTPUT_DIR
)
64 @
install -m
0644 $(OPENBIOS_OUTPUT
) $(OUTPUT_DIR
)/openbios-payload.elf
67 @ echo
"Cleaning OpenBIOS..."
68 @
rm -f
$(OPENBIOS_STAMP_DIR
)/.configured
69 ifneq ($(wildcard $(OPENBIOS_BUILD_DIR
)/Makefile
),)
70 @
$(MAKE
) -C
$(OPENBIOS_BUILD_DIR
) clean > /dev
/null
2>&1
74 @
rm -rf
$(OPENBIOS_DIR
)/*