AR	 = ar
CC	 = gcc
OPTIMIZE = -fomit-frame-pointer -O2 -s
CFLAGS	 = $(DEFINES) $(OPTIMIZE)
LFLAGS   = -N

PROGS    = fun testgl speedtest mousetest
PROGS_O  = fun.o testgl.o speedtest.o mousetest.o
MODULES	 = grlib.o driver.o line.o palette.o scale.o text.o font8x8.o
LIBS     = -lvgagl -lvga

all:	libvgagl.a progs

libvgagl.a: $(MODULES)
	rm -f libvgagl.a
	$(AR) rcs libvgagl.a $(MODULES)

progs : $(PROGS)

objs:	libvgagl.a $(PROGS_O)

.c.o:
	$(CC) $(CFLAGS) -c -o $*.o $<

.c.s:
	$(CC) $(CFLAGS) -S -o $*.s $<

.o:
	$(CC) $(CFLAGS) $(LFLAGS) -o $* $*.o $(LIBS)
	chmod a+rs,go-w $*

clean		:	cleanbin
	rm -f *.o *~ libvgagl.a

cleanbin	:
	rm -f $(PROGS)

dep		:
	rm -f .depend
	make .depend

.depend:
	echo '# Program dependencies' >.depend
	gcc -MM $(patsubst %.o,%.c,$(PROGS_O)) >>.depend
	echo '# Module dependencies' >>.depend
	gcc -MM $(patsubst %.o,%.c,$(MODULES)) >>.depend

include .depend
