1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
#
# Copyright (C) 2001-2021 The LGPL VGABios developers Team
#
SHELL = /bin/sh
CC = gcc
CFLAGS = -g -O2 -Wall -Wstrict-prototypes
LDFLAGS =
GCC = gcc
BCC = bcc
AS86 = as86
RELEASE = `pwd | sed "s-.*/--"`
ifdef SOURCE_DATE_EPOCH
RELDATE = `LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%d %b %Y"`
else
RELDATE = `date '+%d %b %Y'`
endif
RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"`
VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
RELEASE_BIN_LIST=README VGABIOS-lgpl-latest.bin VGABIOS-lgpl-latest.debug.bin \
VGABIOS-lgpl-latest.cirrus.bin VGABIOS-lgpl-latest.cirrus.debug.bin \
VGABIOS-lgpl-latest.banshee.bin
all: bios cirrus-bios banshee-bios vmware-bios qxl-bios
bios: vgabios.bin vgabios.debug.bin
cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
banshee-bios: vgabios-banshee.bin
vmware-bios: vgabios-vmware.bin vgabios-vmware.debug.bin
qxl-bios: vgabios-qxl.bin vgabios-qxl.debug.bin
clean:
/bin/rm -f biossums vbetables-gen vbetables.h *.o *.s *.ld86 \
temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
dist-clean: clean
# source files
VGA_FILES := vgabios.c vgabios.h vgafonts.h vgatables.h
VBE_FILES := vbe.h vbe.c vbetables.h
BANSHEE_FILES := banshee.c
# build flags
vgabios.bin : VGAFLAGS := -DVBE -DPCIBIOS
vgabios.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DDEBUG
vgabios-cirrus.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS
vgabios-cirrus.debug.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS -DCIRRUS_DEBUG
vgabios-banshee.bin : VGAFLAGS := -DBANSHEE -DPCIBIOS
vgabios-vmware.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405
vgabios-vmware.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405 -DDEBUG
vgabios-qxl.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1b36 -DPCI_DID=0x0100
vgabios-qxl.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1b36 -DPCI_DID=0x0100 -DDEBUG
# dist names
vgabios.bin : DISTNAME := VGABIOS-lgpl-latest.bin
vgabios.debug.bin : DISTNAME := VGABIOS-lgpl-latest.debug.bin
vgabios-cirrus.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.bin
vgabios-cirrus.debug.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.debug.bin
vgabios-banshee.bin : DISTNAME := VGABIOS-lgpl-latest.banshee.bin
vgabios-vmware.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.bin
vgabios-vmware.debug.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.debug.bin
vgabios-qxl.bin : DISTNAME := VGABIOS-lgpl-latest.qxl.bin
vgabios-qxl.debug.bin : DISTNAME := VGABIOS-lgpl-latest.qxl.debug.bin
# dependencies
vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums
vgabios.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums
vgabios-cirrus.bin : $(VGA_FILES) clext.c biossums
vgabios-cirrus.debug.bin : $(VGA_FILES) clext.c biossums
vgabios-banshee.bin : $(VGA_FILES) banshee.c biossums
vgabios-vmware.bin : $(VGA_FILES) $(VBE_FILES) biossums
vgabios-vmware.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums
vgabios-qxl.bin : $(VGA_FILES) $(VBE_FILES) biossums
vgabios-qxl.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums
# build rule
%.bin:
$(GCC) -E -P vgabios.c $(VGABIOS_VERS) $(VGAFLAGS) $(VGABIOS_DATE) > _$*_.c
$(BCC) -o $*.s -C-c -D__i86__ -S -0 _$*_.c
sed -e 's/^\.text//' -e 's/^\.data//' $*.s > _$*_.s
$(AS86) _$*_.s -b $*.bin -u -w- -g -0 -j -O -l $*.txt
rm -f _$*_.s _$*_.c $*.s
mv $*.bin $(DISTNAME)
./biossums $(DISTNAME)
ls -l $(DISTNAME)
release:
VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios banshee-bios
make clean
tar czvf ../$(RELEASE)-bin.tgz $(RELEASE_BIN_LIST)
tar czvf ../$(RELEASE).tgz --exclude .svn -C .. $(RELEASE)/
biossums: biossums.c
$(CC) -o biossums biossums.c
vbetables-gen: vbetables-gen.c
$(CC) -o vbetables-gen vbetables-gen.c
vbetables.h: vbetables-gen
./vbetables-gen > $@
|