#############################################################################
# Makefile for building libvdk.so.0.5.11
# Motta Mario
#############################################################################

####### Compiler, tools and options

CC	=	g++
C       =       gcc
CFLAGS	=	-Wall -O2 -fPIC
INCPATH	=	-I../include `gtk-config --cflags`
LINK	=	g++
LFLAGS	=	-shared -Wl,-soname,libvdk.so.0 `gtk-config --libs`
AR	=	ar cqs
####### Files

HEADERS =	application.h \
		forms.h \
		vdkobj.h \
		abstract_button.h \
		button.h \
		colors.h \
		label_button.h \
		pix_button.h \
		label.h \
		boxes.h \
		separator.h \
		messagebox \
		menu.h \
		tooltips.h \
		scrolledForm.h \
		filedlg.h \
		vdkstring.h \
		text.h \
		entry.h \
		tables.h \
		numentry.h \
		vdkdate.h \
		timer.h \
		progressbar.h \
		canvas.h \
		vdkfont.h \
		panedform.h \
		paned.h \
		notebook.h \
		rawpixmap.h \
		rawobj.h \
		checkbutton.h \
		radiobtngroup.h \
		frame.h \
		toolbar.h \
		evbrowser.h \
		scrolled.h \
		slider.h \
		spins.h \
		handlebox.h \
		widcontain.h\
		statusbar.h\
		vdkcustom.h\
		vdkclist.h\
		vdkcsortlist.h\
		fixed.h\
		vdkctree.h\
		togglebutton.h\
		pix_togglebutton.h\
		label_togglebutton.h
 
SOURCES =	application.cc \
		forms.cc \
		vdkobj.cc \
		abstract_button.cc \
		button.cc \
		colors.cc \
		label_button.cc \
		pix_button.cc \
		label.cc \
		boxes.cc \
		pixmaps.cc \
		separator.cc \
		messagebox.cc \
		menu.cc \
		tooltips.cc \
		scrolledForm.cc \
		vdkstring.cc \
		text.cc \
		entry.cc \
		tables.cc \
		numentry.cc \
		vdkdate.cc \
		timer.cc \
		progressbar.cc \
		canvas.cc \
		vdkfont.cc \
		panedform.cc \
		paned.cc \
		notebook.cc \
		rawpixmap.cc \
		rawobj.cc \
		pixdata.cc \
		checkbutton.cc \
		filedlg.cc \
		radiobtngroup.cc \
		frame.cc \
		toolbar.cc \
		evbrowser.cc \
		scrolled.cc \
		slider.cc \
		spins.cc \
		handlebox.cc \
		widcontain.cc\
		statusbar.cc\
		vdkcustom.cc\
		vdkclist.cc\
		vdkcsortlist.cc\
		fixed.cc\
		vdkctree.cc\
		togglebutton.cc\
		pix_togglebutton.cc\
		label_togglebutton.cc

OBJECTS =	application.o \
		forms.o \
		vdkobj.o \
		abstract_button.o \
		button.o \
		colors.o \
		label_button.o \
		pix_button.o \
		label.o \
		boxes.o \
		pixmaps.o \
		separator.o \
		messagebox.o \
		menu.o \
		tooltips.o \
		scrolledForm.o \
		vdkstring.o \
		text.o \
		entry.o \
		tables.o \
		numentry.o \
		vdkdate.o \
		timer.o \
		progressbar.o \
		canvas.o \
		vdkfont.o \
		panedform.o \
		paned.o \
		notebook.o \
		rawpixmap.o \
		rawobj.o \
		pixdata.o \
		checkbutton.o \
		filedlg.o \
		radiobtngroup.o \
		frame.o \
		toolbar.o \
		evbrowser.o \
		scrolled.o \
		slider.o \
		spins.o \
		handlebox.o \
		widcontain.o\
		statusbar.o\
		vdkcustom.o\
		vdkclist.o\
		vdkcsortlist.o\
		fixed.o\
		vdkctree.o\
		togglebutton.o\
		pix_togglebutton.o\
		label_togglebutton.o


TARGET	=	libvdk.so.0.5.11
TARGETA	=	../lib/libvdk.a
TARGETD	=	libvdk.so.0.5.11
TARGET0	=	libvdk.so
TARGET1	=	libvdk.so.0

####### Implicit rules

.SUFFIXES: .cc .c

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

.c.o:
	$(C) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: ../lib/libvdk.so.0.5.11

../lib/libvdk.so.0.5.11: $(OBJECTS)
	-rm -f $(TARGET) $(TARGET0) $(TARGET1)
	$(LINK) $(LFLAGS) -o $(TARGETD) $(OBJECTS)
	-ln -s $(TARGET) $(TARGET0)
	-ln -s $(TARGET) $(TARGET1)
	-rm -f ../lib/$(TARGET)
	-rm -f ../lib/$(TARGET0)
	-rm -f ../lib/$(TARGET1)
	-mv $(TARGET) $(TARGET0) $(TARGET1) ../lib/

staticlib: $(TARGETA)

$(TARGETA): $(OBJECTS) 
	-rm -f $(TARGETA)
	$(AR) $(TARGETA) $(OBJECTS)

install:
	install -d /usr/local/lib/
	install ../lib/$(TARGETA) /usr/local/lib
	install ../lib/$(TARGET) /usr/local/lib/
	install -d /usr/local/include/vdk
	cp  ../include/vdk/*.h  /usr/local/include/vdk
	cp -df ../lib/$(TARGET0) ../lib/$(TARGET1) /usr/local/lib/
	ldconfig /usr/local/lib/

clean:
	-rm -f $(OBJECTS) $(TARGET)
	-rm -f $(TARGET0) $(TARGET1) $(TARGETA)
	-rm -f *~ core

####### Compile

application.o: application.cc

forms.o: forms.cc

vdkobj.o: vdkobj.cc

abstract_button.o: abstract_button.cc

button.o: button.cc

colors.o: colors.cc

label_button.o: label_button.cc

pix_button.o: pix_button.cc

label.o: label.cc

boxes.o: boxes.cc

pixmaps.o: pixmaps.cc

messagebox.o: messagebox.cc

separator.o: separator.cc

menu.o: menu.cc

tooltips.o: tooltips.cc

scrolledForm.o: scrolledForm.cc

vdkstring.o: vdkstring.cc

vdkclist.o: vdkclist.cc

vdkcsortlist.o: vdkcsortlist.cc

text.o: text.cc

entry.o: entry.cc

tables.o: tables.cc

numentry.o: numentry.cc

vdkdate.o: vdkdate.cc

timer.o: timer.cc

progressbar.o: progressbar.cc

canvas.o: canvas.cc

vdkfont.o: vdkfont.cc

panedform.o: panedform.cc

paned.o: paned.cc

notebook.o: notebook.cc

rawpixmap.o: rawpixmap.cc

rawobj.o: rawobj.cc

filedlg.o: filedlg.cc

pixdata.o: pixdata.cc

checkbutton.o: checkbutton.cc

radiobtngroup.o: radiobtngroup.cc

frame.o: frame.cc

toolbar.o: toolbar.cc

evbrowser.o: evbrowser.cc

scrolled.o: scrolled.cc

slider.o: slider.cc

spins.o: spins.cc

handlebox.o: handlebox.cc

widcontain.o: widcontain.cc

statusbar.o: statusbar.cc

fixed.o : fixed.cc

vdkctree.o: vdkctree.cc

togglebutton.o : togglebutton.cc

pix_togglebutton.o : pix_togglebutton.cc

label_togglebutton.o: label_togglebutton.cc

vdkthread.o: vdkthread.cc

##############
# end of file
##############


