#############################################################################
# Makefile for building libvdkcompo.so.0.3
# 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,libvdkcompo.so.0 `gtk-config --libs`
AR	=	ar cqs
####### Files

HEADERS =	FileDialog.h\
		FileSaveAsDialog.h\
		FileTreeDialog.h\
		combo.h\
		coolbar.h \
		coolbutton.h \
		dirtree.h\
		panelbar.h\
		chart.h


SOURCES =	FileDialog.cc\
		FileSaveAsDialog.cc\
		FileTreeDialog.cc\
		coolbar.cc\
		coolbutton.cc\
		combo.cc\
		dirtree.c\
		panelbar.cc\
		chart.cc

OBJECTS =	FileDialog.o\
		FileSaveAsDialog.o\
		FileTreeDialog.o\
		combo.o\
		coolbar.o\
		coolbutton.o\
		dirtree.o\
		panelbar.o\
		chart.o

TARGET	=	libvdkcompo.so.0.3
TARGETA	=	../lib/libvdkcompo.a
TARGETD	=	libvdkcompo.so.0.3
TARGET0	=	libvdkcompo.so
TARGET1	=	libvdkcompo.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/libvdkcompo.so.0.3

../lib/libvdkcompo.so.0.3: $(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/
	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

FileDialog.o: FileDialog.cc

FileSaveAsDialog.o : FileSaveAsDialog.cc

FileTreeDialog.o: FileTreeDialog.cc

combo.o : combo.cc

coolbar.o: coolbar.cc

coolbutton.o: coolbutton.cc

combo.o: combo.cc

dirtree.o: dirtree.c

panelbar.o: panelbar.cc

chart.o: chart.cc

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




