# Copyright (C) 2001-2014 The Bochs Project # # 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 = @SHELL@ @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 rombios.h $(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