CFLAGS  =       -g
LFLAGS  =       -lm -lvga -llge
CC      =       gcc
LIBDEST =	/usr/local/lib/

HEADERS =       3dt.h mouse.h internal.h keyboard.h video.h visual.h \
		messages.h lge.h dialog.h control.h

SOURCESLIB =    T3d.cc list.cc radio.cc scrollbar.cc static.cc edit.cc \
		checkbox.cc pushbutton.cc menu.cc dialog.cc lge.cc \
		messages.cc visual.cc video.cc keyboard.cc 3dt.c
SOURCESBIN =    tstlge.cc
SOURCESFNT =	fontedit.cc
SOURCESCUR =	cursedit.cc
OBJECTSLIB =    T3d.o list.o radio.o scrollbar.o static.o edit.o \
		checkbox.o pushbutton.o menu.o messages.o dialog.o lge.o \
		visual.o video.o keyboard.o 3dt.o
OBJECTSBIN =    tstlge.o
OBJECTSFNT =	fontedit.o
OBJECTSCUR =	cursedit.o
TARGETLIB  =    liblge.so
TARGETBIN  =    tstlge
TARGETFNT  =	fontedit
TARGETCUR  =	cursedit
TARGETS    =    $(TARGETLIB) $(TARGETBIN) $(TARGETFNT) $(TARGETCUR)

####### Build rules

all:    $(TARGETS)
lib:    $(TARGETLIB)
bin:    $(TARGETBIN)
fnt:	$(TARGETFNT)
cur:	$(TARGETCUR)

$(TARGETLIB): $(OBJECTSLIB)
	ld -shared $(OBJECTSLIB) -o $(TARGETLIB)
	cp $(TARGETLIB) $(LIBDEST)
$(TARGETBIN): $(OBJECTSBIN)
	$(CC) $(OBJECTSBIN) -o $(TARGETBIN) $(LFLAGS)
$(TARGETFNT): $(OBJECTSFNT)
	$(CC) $(OBJECTSFNT) -o $(TARGETFNT) $(LFLAGS)
$(TARGETCUR): $(OBJECTSCUR)
	$(CC) $(OBJECTSCUR) -o $(TARGETCUR) $(LFLAGS)

%.o : %.cc
	$(CC) $(CFLAGS) -c $<
%.o : %.c
	$(CC) $(CFLAGS) -c $<

clean:
	/bin/rm -f *.o *~ *%
	/bin/rm -f $(TARGETLIB) $(LIBDEST)$(TARGETLIB)
	/bin/rm -f $(TARGETBIN) $(TARGETFNT) $(TARGETCUR)

