| # 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 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 -fno-stack-protector |
| 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 $(srcdir)/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 |
| cpp -P $< $<.i |
| iasl -tc -p $@ $<.i |
| rm $<.i |
| sed -i -e's/^unsigned/const unsigned/' $@ |
| endif |
| |
| rombios32start.o: rombios32start.S |
| $(GCC32) -c -o $@ $< |
| |
| BIOS-bochs-latest: rombios16.bin rombios32.bin |
| cat rombios32.bin rombios16.bin > $@ |
| |
| biossums: biossums.o |