Commit 7aa486fe authored by Anthony Liguori's avatar Anthony Liguori
Browse files

Fix multiboot.bin build on mingw32



This combination of ld/object was suggested by Bartlomiej Celary

Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent b8c0e7d7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ ar="ar"
make="make"
install="install"
strip="strip"
objcopy="objcopy"
ld="ld"

# parse CC options first
for opt do
@@ -53,6 +55,8 @@ done
cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"
objcopy="${cross_prefix}${objcopy}"
ld="${cross_prefix}${ld}"

# check that the C compiler works.
cat > $TMPC <<EOF
@@ -1483,6 +1487,8 @@ echo "INSTALL_PROG=$install -m0755 -p" >> $config_mak
echo "CC=$cc" >> $config_mak
echo "HOST_CC=$host_cc" >> $config_mak
echo "AR=$ar" >> $config_mak
echo "OBJCOPY=$objcopy" >> $config_mak
echo "LD=$ld" >> $config_mak
# XXX: only use CFLAGS and LDFLAGS ?  
# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
# compilation of dyngen tool (useful for win32 build on Linux host)
+5 −3
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@ all: build-all
include ../../config-host.mak

VPATH=$(SRC_PATH)/pc-bios/optionrom
OBJCOPY=objcopy

# from kernel sources - scripts/Kbuild.include
# try-run
@@ -35,9 +34,12 @@ build-all: multiboot.bin
	$(CC) $(CFLAGS) -o $@ -c $<

%.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 $< $@
	cp $@ $(SRC_PATH)/pc-bios/