VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/BIOS/Makefile.kmk

Last change on this file was 98410, checked in by vboxsync, 16 months ago

Devices/*.kmk: Automatic scm cleanups. bugref:10348

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.2 KB
RevLine 
[41084]1# $Id: Makefile.kmk 98410 2023-02-01 16:20:10Z vboxsync $
2## @file
[42143]3# Sub-Makefile for the New VGA BIOS ROM.
[41084]4#
5
6#
[98103]7# Copyright (C) 2012-2023 Oracle and/or its affiliates.
[41084]8#
[96407]9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
[41084]11#
[96407]12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
[41084]27
28SUB_DEPTH = ../../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31
[41499]32ifdef VBOX_WITH_OPEN_WATCOM
[41084]33
[41499]34 #
[42147]35 # VBoxVgaBios - The VGA BIOS.
[41499]36 #
[60422]37 MISCBINS += VBoxVgaBios386
38 VBoxVgaBios386_TEMPLATE = VBoxBios
39 VBoxVgaBios386_ASFLAGS = -0
40 VBoxVgaBios386_CFLAGS = -3
41 VBoxVgaBios386_DEFS = VBE VBOX_BIOS_CPU=80386
[65381]42 VBoxVgaBios386_INCS = $(VBOX_GRAPHICS_INCS)
[60422]43 VBoxVgaBios386_SOURCES = \
[42143]44 vgarom.asm \
45 vberom.asm \
46 vgabios.c \
47 vbe.c
[60422]48 VBoxVgaBios386_LDFLAGS = \
[42147]49 output raw offset=0xC0000 \
50 order \
[98410]51 clname CODE \
52 segment VGAROM segaddr=0xC000 \
53 segment _TEXT segaddr=0xC000 offset=0x9F0 \
54 segment VBE32 segaddr=0xC000 offset=0x4640 \
55 clname DATA \
56 segment _DATA segaddr=0xC000 offset=0x4780
[41499]57
[60422]58 MISCBINS += VBoxVgaBios286
59 VBoxVgaBios286_EXTENDS = VBoxVgaBios386
60 VBoxVgaBios286_CFLAGS = -2
61 VBoxVgaBios286_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=80286
62
63 MISCBINS += VBoxVgaBios8086
64 VBoxVgaBios8086_EXTENDS = VBoxVgaBios386
65 VBoxVgaBios8086_CFLAGS = -0
66 VBoxVgaBios8086_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=8086
67
[41499]68 #
69 # Updates the alternative source file.
70 #
[60422]71 define def_VBoxVgaBiosUpdateAltSource
72 $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm +| $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum: \
73 $$$$(VBoxVgaBios$(1)_1_TARGET) \
74 $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \
[98410]75 $$(VBOX_VBOXCMP)
[60422]76 if1of ($$(KBUILD_TYPE), release)
77 $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \
78 --bios-image $$< \
79 --bios-map $$(basename $$<).map \
80 --bios-sym $$(basename $$<).sym \
[42147]81 --bios-type vga \
[60422]82 --output $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm
[84957]83 $$(QUIET)$$(TOOL_YASM_AS) -f bin \
[60422]84 -o $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \
85 -l $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \
86 $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm
87 $$(VBOX_VBOXCMP) $$< $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin
88 $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).asm
89 $$(REDIRECT) -C $$(dir $$(VBoxVgaBios$(1)_1_TARGET)) -- \
90 $$(MD5SUM_EXT) -bo $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(notdir $$(VBoxVgaBios$(1)_1_TARGET))
91 $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).md5sum
92 $$(RM) -f -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm \
93 $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \
94 $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \
95 $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum
96 else
97 $$(QUIET)$$(ECHO) "Fatal error: Can only update VBoxVgaBiosAlternative$(1).asm/md5sum with a release build."
98 $$(QUIET)exit 1
99 endif
100 endef
[41499]101
[60422]102 $(evalcall2 def_VBoxVgaBiosUpdateAltSource,386)
103 $(evalcall2 def_VBoxVgaBiosUpdateAltSource,286)
104 $(evalcall2 def_VBoxVgaBiosUpdateAltSource,8086)
105
106 update-vgabios-source: \
[98410]107 $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative386.asm \
108 $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative286.asm \
109 $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative8086.asm
[60422]110
[41499]111endif # VBOX_WITH_OPEN_WATCOM
112
113
[41084]114#
[42143]115# The library containing the VGA BIOS image.
[41084]116#
[42143]117LIBRARIES += VgaBiosBin
[98133]118VgaBiosBin_TEMPLATE = VBoxR3Dll
[42143]119VgaBiosBin_DEFS = IN_VBOXDD2
[60422]120VgaBiosBin_SOURCES =
121VgaBiosBin_DEPS = $(VgaBiosBin_0_OUTDIR)/vbetables.h
122VgaBiosBin_CLEAN = $(VgaBiosBin_0_OUTDIR)/vbetables.h
[41084]123
[60422]124define def_VBoxVgaBiosBin
125 VgaBiosBin_SOURCES += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c
126 VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c
127 ifdef VBOX_WITH_OPEN_WATCOM
128 $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c: $$$$(VBoxVgaBios$(1)_1_TARGET) $$(VBOX_BIN2C) | $$$$(dir $$$$@)
129 $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@)
130 $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$< $$@
131 else
132 VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom
[41513]133
[60426]134 $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom: \
[98410]135 $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm \
136 $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum \
137 $$(VBOX_BIN2C) | $$$$(dir $$$$@)
[60422]138 $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@)
[84957]139 $$(QUIET)$$(TOOL_YASM_AS) -f bin -o $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$<
[60422]140 $$(QUIET)$$(REDIRECT) -C $$(VgaBiosBin_0_OUTDIR) -- \
141 $$(MD5SUM_EXT) -c $$(basename $$<).md5sum
142 $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$@
[60426]143 $$(QUIET)$$(RM) -f -- $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom
[60422]144 endif
145endef
146$(evalcall2 def_VBoxVgaBiosBin,386)
147$(evalcall2 def_VBoxVgaBiosBin,286)
148$(evalcall2 def_VBoxVgaBiosBin,8086)
[41084]149
150
[42353]151# Rule for making the vbetables.h that DevVGA uses.
152$$(VgaBiosBin_0_OUTDIR)/vbetables.h: $(MAKEFILE_CURRENT) $$(vbetables-gen_1_TARGET) | $$(dir $$@)
153 $(QUIET)$(REDIRECT) -wo $@ -- $(vbetables-gen_1_TARGET)
154
155
[42351]156#
[42353]157# The VBE tables.
158#
159BLDPROGS += vbetables-gen
[49116]160vbetables-gen_TEMPLATE = VBoxBldProg
[42353]161vbetables-gen_SOURCES = vbetables-gen.c
162vbetables-gen_CLEAN = $(vbetables-gen)
163
164
165#
[42351]166# The VGA BIOS Logo.
167#
168LIBRARIES += VgaDefBiosLogo
[98133]169VgaDefBiosLogo_TEMPLATE = VBoxR3Dll
[42351]170VgaDefBiosLogo_INCS = $(VBOX_PATH_DEVICES_SRC)
[42352]171VgaDefBiosLogo_SOURCES = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c
172VgaDefBiosLogo_CLEAN = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c
[64960]173ifndef VBOX_OSE
[98410]174 VgaDefBiosLogo_SOURCES += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c
175 VgaDefBiosLogo_CLEAN += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c
[64960]176endif
[42351]177
178# Rule for making the bios logo.
[42378]179$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c: $(VBOX_BRAND_BIOS_LOGO) $(VBOX_BIN2C) | $$(dir $$@)
[42351]180 $(call MSG_TOOL,bin2c,VgaDefBiosLogo,$<,$@)
181 $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogo $< $@
182
[64960]183# Rule for making the bios logo.
184$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c: $(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/puel_logo_ny.bmp $(VBOX_BIN2C) | $$(dir $$@)
185 $(call MSG_TOOL,bin2c,VgaDefBiosLogoNY,$<,$@)
186 $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogoNY $< $@
[42351]187
[64960]188
[46952]189ifdef VBOX_WITH_OPEN_WATCOM
190 #
191 # Install the symbol file for the BIOS.
192 #
193 INSTALLS += VBoxVgaBiosSym
194 VBoxVgaBiosSym_TEMPLATE = VBoxDbgSyms
[60422]195 VBoxVgaBiosSym_SOURCES = \
196 $(basename $(VBoxVgaBios386_1_TARGET)).sym \
197 $(basename $(VBoxVgaBios286_1_TARGET)).sym \
198 $(basename $(VBoxVgaBios8086_1_TARGET)).sym
[46952]199endif
[46946]200
[41477]201include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use