1 # Copyright (C) 2001 MandrakeSoft S.A. 2 # 3 # MandrakeSoft S.A. 4 # 43, rue d'Aboukir 5 # 75002 Paris - France 6 # http://www.linux-mandrake.com/ 7 # http://www.mandrakesoft.com/ 8 # 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. 13 # 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. 18 # 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 23 # Makefile for the BIOS component of bochs 24 25 26 @SUFFIX_LINE@ 27 28 srcdir = @srcdir@ 29 VPATH = @srcdir@ 30 31 SHELL = /bin/sh 32 33 @SET_MAKE@ 34 35 CXX = @CXX@ 36 CXXFLAGS = @CXXFLAGS@ 37 38 LDFLAGS = @LDFLAGS@ 39 LIBS = @LIBS@ 40 RANLIB = @RANLIB@ 41 42 BCC = bcc 43 GCC = gcc 44 GCC32 = gcc -m32 -fno-stack-protector 45 AS86 = as86 46 47 BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev 48 LOCAL_CXXFLAGS = 49 50 BUILDDATE = `date '+%m/%d/%y'` 51 BIOS_BUILD_DATE = "-DBIOS_BUILD_DATE=\"$(BUILDDATE)\"" 52 # 53 # -------- end configurable options -------------------------- 54 # 55 56 57 .@CPP_SUFFIX@.o: 58 $(CXX) -c $(BX_INCDIRS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) @CXXFP@$< @OFP@$@ 59 60 61 bios: biossums BIOS-bochs-latest BIOS-bochs-legacy 62 63 clean: 64 @RMCOMMAND@ *.o *.a *.s _rombios*_.c rombios*.txt rombios*.sym 65 @RMCOMMAND@ usage biossums rombios16.bin 66 @RMCOMMAND@ rombios32.bin rombios32.out 67 68 dist-clean: clean 69 @RMCOMMAND@ Makefile 70 71 bios-clean: 72 @RMCOMMAND@ BIOS-bochs-* 73 74 BIOS-bochs-legacy: rombios.c apmbios.S biossums rombios.h 75 $(GCC32) $(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 @RMCOMMAND@ _rombiosl_.s 83 84 85 rombios16.bin: rombios.c apmbios.S biossums rombios.h 86 $(GCC32) $(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 @RMCOMMAND@ _rombios_.s 94 95 96 rombios32.bin: rombios32.out rombios.h 97 objcopy -O binary $< $@ 98 ./biossums -pad $@ 99 100 rombios32.out: rombios32start.o rombios32.o rombios32.ld 101 ld -o $@ -T $(srcdir)/rombios32.ld rombios32start.o rombios32.o 102 103 rombios32.o: rombios32.c acpi-dsdt.hex 104 $(GCC32) -O2 -Wall -c -o $@ $< 105 106 ifeq ("1", "0") 107 acpi-dsdt.hex: acpi-dsdt.dsl 108 cpp -P $< $<.i 109 iasl -tc -p $@ $<.i 110 rm $<.i 111 sed -i -e's/^unsigned/const unsigned/' $@ 112 endif 113 114 rombios32start.o: rombios32start.S 115 $(GCC32) -c -o $@ $< 116 117 BIOS-bochs-latest: rombios16.bin rombios32.bin 118 cat rombios32.bin rombios16.bin > $@ 119 120 biossums: biossums.o 121