Fix multiboot.bin build on mingw32

This combination of ld/object was suggested by Bartlomiej Celary

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Anthony Liguori 2009-07-11 08:48:29 -05:00
parent b8c0e7d7c4
commit 7aa486fe6b
2 changed files with 11 additions and 3 deletions

6
configure vendored
View File

@ -34,6 +34,8 @@ ar="ar"
make="make" make="make"
install="install" install="install"
strip="strip" strip="strip"
objcopy="objcopy"
ld="ld"
# parse CC options first # parse CC options first
for opt do for opt do
@ -53,6 +55,8 @@ done
cc="${cross_prefix}${cc}" cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}" ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}" strip="${cross_prefix}${strip}"
objcopy="${cross_prefix}${objcopy}"
ld="${cross_prefix}${ld}"
# check that the C compiler works. # check that the C compiler works.
cat > $TMPC <<EOF cat > $TMPC <<EOF
@ -1483,6 +1487,8 @@ echo "INSTALL_PROG=$install -m0755 -p" >> $config_mak
echo "CC=$cc" >> $config_mak echo "CC=$cc" >> $config_mak
echo "HOST_CC=$host_cc" >> $config_mak echo "HOST_CC=$host_cc" >> $config_mak
echo "AR=$ar" >> $config_mak echo "AR=$ar" >> $config_mak
echo "OBJCOPY=$objcopy" >> $config_mak
echo "LD=$ld" >> $config_mak
# XXX: only use CFLAGS and LDFLAGS ? # XXX: only use CFLAGS and LDFLAGS ?
# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
# compilation of dyngen tool (useful for win32 build on Linux host) # compilation of dyngen tool (useful for win32 build on Linux host)

View File

@ -3,7 +3,6 @@ all: build-all
include ../../config-host.mak include ../../config-host.mak
VPATH=$(SRC_PATH)/pc-bios/optionrom VPATH=$(SRC_PATH)/pc-bios/optionrom
OBJCOPY=objcopy
# from kernel sources - scripts/Kbuild.include # from kernel sources - scripts/Kbuild.include
# try-run # try-run
@ -35,9 +34,12 @@ build-all: multiboot.bin
$(CC) $(CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) -o $@ -c $<
%.img: %.o %.img: %.o
$(LD) --oformat binary -Ttext 0 -o $@ $< $(LD) -Ttext 0 -e _start -s -o $@ $<
%.bin: %.img %.raw: %.img
$(OBJCOPY) -O binary -j .text $< $@
%.bin: %.raw
$(SRC_PATH)/pc-bios/optionrom/signrom.sh $< $@ $(SRC_PATH)/pc-bios/optionrom/signrom.sh $< $@
cp $@ $(SRC_PATH)/pc-bios/ cp $@ $(SRC_PATH)/pc-bios/