Home | History | Annotate | Download | only in bios
      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