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