blob: b055910528f9ef12768440408aabdea75cd8368b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# Copyright (C) 2001 MandrakeSoft S.A.
#
# MandrakeSoft S.A.
# 43, rue d'Aboukir
# 75002 Paris - France
# http://www.linux-mandrake.com/
# http://www.mandrakesoft.com/
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Makefile for the BIOS component of bochs
@SUFFIX_LINE@
srcdir = @srcdir@
VPATH = @srcdir@
SHELL = /bin/sh
@SET_MAKE@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
RANLIB = @RANLIB@
BCC = bcc
GCC = gcc
GCC32 = gcc -m32
AS86 = as86
BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev
LOCAL_CXXFLAGS =
BUILDDATE = `date '+%m/%d/%y'`
BIOS_BUILD_DATE = "-DBIOS_BUILD_DATE=\"$(BUILDDATE)\""
#
# -------- end configurable options --------------------------
#
.@CPP_SUFFIX@.o:
$(CXX) -c $(BX_INCDIRS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) @CXXFP@$< @OFP@$@
bios: biossums BIOS-bochs-latest BIOS-bochs-legacy
clean:
@RMCOMMAND@ *.o *.a *.s _rombios*_.c rombios*.txt rombios*.sym
@RMCOMMAND@ usage biossums rombios16.bin
@RMCOMMAND@ rombios32.bin rombios32.out
dist-clean: clean
@RMCOMMAND@ Makefile
bios-clean:
@RMCOMMAND@ BIOS-bochs-*
BIOS-bochs-legacy: rombios.c apmbios.S biossums rombios.h
$(GCC32) $(BIOS_BUILD_DATE) -DLEGACY -E -P $< > _rombiosl_.c
$(BCC) -o rombiosl.s -C-c -D__i86__ -0 -S _rombiosl_.c
sed -e 's/^\.text//' -e 's/^\.data//' rombiosl.s > _rombiosl_.s
$(AS86) _rombiosl_.s -b tmpl.bin -u- -w- -g -0 -j -O -l rombiosl.txt
-perl ${srcdir}/makesym.perl < rombiosl.txt > rombiosl.sym
mv tmpl.bin $@
./biossums $@
@RMCOMMAND@ _rombiosl_.s
rombios16.bin: rombios.c apmbios.S biossums rombios.h
$(GCC32) $(BIOS_BUILD_DATE) -E -P $< > _rombios_.c
$(BCC) -o rombios.s -C-c -D__i86__ -0 -S _rombios_.c
sed -e 's/^\.text//' -e 's/^\.data//' rombios.s > _rombios_.s
$(AS86) _rombios_.s -b tmp.bin -u- -w- -g -0 -j -O -l rombios.txt
-perl ${srcdir}/makesym.perl < rombios.txt > rombios.sym
mv tmp.bin rombios16.bin
./biossums rombios16.bin
@RMCOMMAND@ _rombios_.s
rombios32.bin: rombios32.out rombios.h
objcopy -O binary $< $@
./biossums -pad $@
rombios32.out: rombios32start.o rombios32.o rombios32.ld
ld -o $@ -T rombios32.ld rombios32start.o rombios32.o
rombios32.o: rombios32.c acpi-dsdt.hex
$(GCC32) -O2 -Wall -c -o $@ $<
ifeq ("1", "0")
acpi-dsdt.hex: acpi-dsdt.dsl
iasl -tc -p $@ $<
endif
rombios32start.o: rombios32start.S
$(GCC32) -c -o $@ $<
BIOS-bochs-latest: rombios16.bin rombios32.bin
cat rombios32.bin rombios16.bin > $@
biossums: biossums.c
$(GCC) -o biossums biossums.c
|