2 SRC_DIR
:= $(TOPSRC_DIR
)/pc-bios
/optionrom
5 all: multiboot.bin multiboot_dma.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
6 # Dummy command so that make thinks it has done something
11 quiet-command
= $(if
$(V
),$1,$(if
$(2),@printf
" %-7s %s\n" $2 $3 && $1, @
$1))
12 cc-option
= $(if
$(shell $(CC
) $1 -c
-o
/dev
/null
-xc
/dev
/null
>/dev
/null
2>&1 && echo OK
), $1, $2)
14 override CFLAGS
+= -march
=i486
-Wall
-m16
16 # If -fcf-protection is enabled in flags or compiler defaults that will
17 # conflict with -march=i486
18 override CFLAGS
+= $(call cc-option
, -fcf-protection
=none
)
20 # Flags for dependency generation
21 override CPPFLAGS
+= -MMD
-MP
-MT
$@
-MF
$(@D
)/$(*F
).d
23 override CFLAGS
+= $(filter -W
%, $(QEMU_CFLAGS
))
24 override CFLAGS
+= $(call cc-option
, -fno-pie
)
25 override CFLAGS
+= -ffreestanding
-I
$(TOPSRC_DIR
)/include
26 override CFLAGS
+= $(call cc-option
, -fno-stack-protector
)
27 override CFLAGS
+= $(call cc-option
, -Wno-array-bounds
)
30 override ASFLAGS
+= -32
31 override CFLAGS
+= $(call cc-option
, $(Wa
)-32)
33 override LDFLAGS
= -m
$(LD_I386_EMULATION
) -T
$(SRC_DIR
)/flat.lds
35 pvh.img
: pvh.o pvh_main.o
38 $(call quiet-command
,$(CC
) $(CPPFLAGS
) -E
-o
- $< |
$(AS
) $(ASFLAGS
) -o
$@
,"AS","$@")
41 $(call quiet-command
,$(CC
) $(CPPFLAGS
) $(CFLAGS
) -c
$< -o
$@
,"CC","$@")
44 $(call quiet-command
,$(LD
) $(LDFLAGS
) -s
-o
$@
$^
,"BUILD","$@")
47 $(call quiet-command
,$(OBJCOPY
) -O binary
-j .text
$< $@
,"BUILD","$@")
50 $(call quiet-command
,$(PYTHON
) $(TOPSRC_DIR
)/scripts
/signrom.py
$< $@
,"SIGN","$@")
52 include $(wildcard *.d
)
55 rm -f
*.o
*.d
*.raw
*.img
*.bin
*~
57 # suppress auto-removal of intermediate files