1CC      = gcc
2
3GCC = gcc
4BCC = bcc
5AS86 = as86
6
7RELEASE = `pwd | sed "s-.*/--"`
8VGABIOS_REL_DATE ?= `date '+%d %b %Y'`
9RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"`
10
11VGABIOS_DATE = "-DVGABIOS_DATE=\"$(VGABIOS_REL_DATE)\""
12
13.PHONY: all
14all: bios cirrus-bios
15
16.PHONY: bios
17bios: biossums vgabios.bin vgabios.debug.bin
18
19.PHONY: cirrus-bios
20cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
21
22.PHONY: clean
23clean:
24	rm -f  biossums vbetables-gen vbetables.h *.o *.s *.ld86 \
25          temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
26	rm -f VGABIOS-lgpl-latest*.bin
27
28.PHONY: distclean
29distclean: clean
30
31.PHONY: release
32release:
33	VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
34	/bin/rm -f  *.o *.s *.ld86 \
35          temp.awk.* vgabios.*.orig _vgabios_.*.c core *.bak .#*
36	cp VGABIOS-lgpl-latest.bin ../$(RELEASE).bin
37	cp VGABIOS-lgpl-latest.debug.bin ../$(RELEASE).debug.bin
38	cp VGABIOS-lgpl-latest.cirrus.bin ../$(RELEASE).cirrus.bin
39	cp VGABIOS-lgpl-latest.cirrus.debug.bin ../$(RELEASE).cirrus.debug.bin
40	tar czvf ../$(RELEASE).tgz --exclude CVS -C .. $(RELEASE)/
41
42vgabios.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
43	$(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE $(VGABIOS_DATE) > _vgabios_.c
44	$(BCC) -o vgabios.s -C-c -D__i86__ -S -0 _vgabios_.c
45	sed -e 's/^\.text//' -e 's/^\.data//' vgabios.s > _vgabios_.s
46	$(AS86) _vgabios_.s -b vgabios.bin -u -w- -g -0 -j -O -l vgabios.txt
47	rm -f _vgabios_.s _vgabios_.c vgabios.s
48	cp vgabios.bin VGABIOS-lgpl-latest.bin
49	./biossums VGABIOS-lgpl-latest.bin
50	ls -l VGABIOS-lgpl-latest.bin
51
52vgabios.debug.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
53	$(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE -DDEBUG $(VGABIOS_DATE) > _vgabios-debug_.c
54	$(BCC) -o vgabios-debug.s -C-c -D__i86__ -S -0 _vgabios-debug_.c
55	sed -e 's/^\.text//' -e 's/^\.data//' vgabios-debug.s > _vgabios-debug_.s
56	$(AS86) _vgabios-debug_.s -b vgabios.debug.bin -u -w- -g -0 -j -O -l vgabios.debug.txt
57	rm -f _vgabios-debug_.s _vgabios-debug_.c vgabios-debug.s
58	cp vgabios.debug.bin VGABIOS-lgpl-latest.debug.bin
59	./biossums VGABIOS-lgpl-latest.debug.bin
60	ls -l VGABIOS-lgpl-latest.debug.bin
61
62vgabios-cirrus.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h clext.c
63	$(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus_.c
64	$(BCC) -o vgabios-cirrus.s -C-c -D__i86__ -S -0 _vgabios-cirrus_.c
65	sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus.s > _vgabios-cirrus_.s
66	$(AS86) _vgabios-cirrus_.s -b vgabios-cirrus.bin -u -w- -g -0 -j -O -l vgabios-cirrus.txt
67	rm -f _vgabios-cirrus_.s _vgabios-cirrus_.c vgabios-cirrus.s
68	cp vgabios-cirrus.bin VGABIOS-lgpl-latest.cirrus.bin
69	./biossums VGABIOS-lgpl-latest.cirrus.bin
70	ls -l VGABIOS-lgpl-latest.cirrus.bin
71
72vgabios-cirrus.debug.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h clext.c
73	$(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DCIRRUS_DEBUG -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus-debug_.c
74	$(BCC) -o vgabios-cirrus-debug.s -C-c -D__i86__ -S -0 _vgabios-cirrus-debug_.c
75	sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus-debug.s > _vgabios-cirrus-debug_.s
76	$(AS86) _vgabios-cirrus-debug_.s -b vgabios-cirrus.debug.bin -u -w- -g -0 -j -O -l vgabios-cirrus.debug.txt
77	rm -f _vgabios-cirrus-debug_.s _vgabios-cirrus-debug_.c vgabios-cirrus-debug.s
78	cp vgabios-cirrus.debug.bin VGABIOS-lgpl-latest.cirrus.debug.bin
79	./biossums VGABIOS-lgpl-latest.cirrus.debug.bin
80	ls -l VGABIOS-lgpl-latest.cirrus.debug.bin
81
82biossums: biossums.c
83	$(CC) -o biossums biossums.c
84
85vbetables-gen: vbetables-gen.c
86	$(CC) -o vbetables-gen vbetables-gen.c
87
88vbetables.h: vbetables-gen
89	./vbetables-gen > $@
90