1 # Copyright (C) 2001 MandrakeSoft S.A.
6 # http://www.linux-mandrake.com/
7 # http://www.mandrakesoft.com/
9 # This library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public
11 # License as published by the Free Software Foundation; either
12 # version 2 of the License, or (at your option) any later version.
14 # This library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # Lesser General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with this library; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 # Makefile for the BIOS component of bochs
36 CXXFLAGS
= -g
-O2
-D_FILE_OFFSET_BITS
=64 -D_LARGE_FILES
47 BX_INCDIRS
= -I..
-I
$(srcdir)/..
-I..
/iodev
-I
$(srcdir)/..
/iodev
50 BUILDDATE
= `date '+%m/%d/%y'`
51 BIOS_BUILD_DATE
= "-DBIOS_BUILD_DATE=\"$(BUILDDATE)\""
53 # -------- end configurable options --------------------------
58 $(CXX
) -c
$(BX_INCDIRS
) $(CXXFLAGS
) $(LOCAL_CXXFLAGS
) $< -o
$@
61 bios
: biossums BIOS-bochs-latest BIOS-bochs-legacy
64 rm -f
*.o
*.a
*.s _rombios
*_.c rombios
*.txt rombios
*.sym
65 rm -f usage biossums rombios16.bin
66 rm -f rombios32.bin rombios32.out acpi-dsdt.hex
74 BIOS-bochs-legacy
: rombios.c apmbios.S biossums rombios.h
75 $(GCC
) $(BIOS_BUILD_DATE
) -DLEGACY
-E
-P
$< > _rombiosl_.c
76 $(BCC
) -o rombiosl.s
-C-c
-D__i86__
-0 -S _rombiosl_.c
77 sed
-e
's/^\.text//' -e
's/^\.data//' rombiosl.s
> _rombiosl_.s
78 $(AS86
) _rombiosl_.s
-b tmpl.bin
-u-
-w-
-g
-0 -j
-O
-l rombiosl.txt
79 -perl
${srcdir}/makesym.perl
< rombiosl.txt
> rombiosl.sym
85 rombios16.bin
: rombios.c apmbios.S biossums rombios.h
86 $(GCC
) $(BIOS_BUILD_DATE
) -E
-P
$< > _rombios_.c
87 $(BCC
) -o rombios.s
-C-c
-D__i86__
-0 -S _rombios_.c
88 sed
-e
's/^\.text//' -e
's/^\.data//' rombios.s
> _rombios_.s
89 $(AS86
) _rombios_.s
-b tmp.bin
-u-
-w-
-g
-0 -j
-O
-l rombios.txt
90 -perl
${srcdir}/makesym.perl
< rombios.txt
> rombios.sym
91 mv tmp.bin rombios16.bin
92 .
/biossums rombios16.bin
96 rombios32.bin
: rombios32.out rombios.h
97 objcopy
-O binary
$< $@
100 rombios32.out
: rombios32start.o rombios32.o vapic.o rombios32.
ld
101 ld -o
$@
-T rombios32.
ld rombios32start.o vapic.o rombios32.o
103 rombios32.o
: rombios32.c acpi-dsdt.hex
104 $(GCC
) -m32
-O2
-Wall
-c
-o
$@
$<
106 acpi-dsdt.hex
: acpi-dsdt.dsl
111 rombios32start.o
: rombios32start.S
112 $(GCC
) -m32
-c
-o
$@
$<
115 $(GCC
) -m32
-c
-o
$@
$<
117 BIOS-bochs-latest
: rombios16.bin rombios32.bin
118 cat rombios32.bin rombios16.bin
> $@
121 $(HOST_CC
) -o biossums biossums.c