Merge branch 'qemu-cvs'
[kvm-userspace.git] / bios / Makefile
blob48022eab17c65a41262997b90a7031f97adb2081
1 # Copyright (C) 2001 MandrakeSoft S.A.
3 # MandrakeSoft S.A.
4 # 43, rue d'Aboukir
5 # 75002 Paris - France
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
26 .SUFFIXES: .cc
28 srcdir = .
31 SHELL = /bin/sh
35 CXX = g++
36 CXXFLAGS = -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
38 LDFLAGS =
39 LIBS = -lm
40 RANLIB = ranlib
42 BCC = bcc
43 GCC = gcc -m32
44 HOST_CC = gcc
45 AS86 = as86
47 BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev
48 LOCAL_CXXFLAGS =
50 BUILDDATE = `date '+%m/%d/%y'`
51 BIOS_BUILD_DATE = "-DBIOS_BUILD_DATE=\"$(BUILDDATE)\""
53 # -------- end configurable options --------------------------
57 .cc.o:
58 $(CXX) -c $(BX_INCDIRS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) $< -o $@
61 bios: biossums BIOS-bochs-latest BIOS-bochs-legacy
63 clean:
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
68 dist-clean: clean
69 rm -f Makefile
71 bios-clean:
72 rm -f BIOS-bochs-*
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
80 mv tmpl.bin $@
81 ./biossums $@
82 rm -f _rombiosl_.s
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
93 rm -f _rombios_.s
96 rombios32.bin: rombios32.out rombios.h
97 objcopy -O binary $< $@
98 ./biossums -pad $@
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
107 cpp -P $< $<.i
108 iasl -tc -p $@ $<.i
109 rm $<.i
111 rombios32start.o: rombios32start.S
112 $(GCC) -m32 -c -o $@ $<
114 vapic.o: vapic.S
115 $(GCC) -m32 -c -o $@ $<
117 BIOS-bochs-latest: rombios16.bin rombios32.bin
118 cat rombios32.bin rombios16.bin > $@
120 biossums: biossums.c
121 $(HOST_CC) -o biossums biossums.c