INSTDIR:=	/usr/local/
CC:=	g++ -s -Wall
LIBS:=	-L/usr/X11/lib -lX11
ALL:=	Makefile
OBJS:=	iwindow.o ibutton.o isbutton.o ibox.o iintbox.o istatbar.o \
	itextbox.o idialogs.o ilistbox.o igbox.o irealbox.o islider.o 
ARC:=	libibtk.a
TSTR=	$(shell date +"%Y%m%d%H%M")

MAJOR=	0
MINOR=	0
SHARE=	libibtk.so
SHAREF=	libibtk.so.$(MAJOR).$(MINOR)
SHAREN=	libibtk.so.$(MAJOR)

# use make share_install to produce and install the shared lib
# You probably need to add /usr/local/lib to your /etc/ld.so.conf file.

all:	libibtk.a

test:	main.o $(ARC) *.h $(ALL)
	$(CC) -o main main.o $(ARC) $(LIBS)

tar:	iwindow.cpp
	cd .. ;	tar czvf ~/c/archive/ibtk.$(TSTR).tar.gz \
                ibtk/*.cpp ibtk/*.[hc] ibtk/Makefile

$(ARC):	$(OBJS) *.h $(ALL)
	ar rcs $(ARC) $(OBJS)

$(SHAREF): $(OBJS) *.h $(ALL) $(ARC)
	ld -share -soname $(SHAREN) -o $(SHAREF) --whole-archive $(ARC)

iwindow.o:	iwindow.cpp *.h $(ALL)
	$(CC) -c iwindow.cpp


ibutton.o:	ibutton.cpp *.h $(ALL)
	$(CC) -c ibutton.cpp

isbutton.o:	isbutton.cpp *.h $(ALL)
	$(CC) -c isbutton.cpp

ibox.o:	ibox.cpp *.h $(ALL)
	$(CC) -c ibox.cpp

iintbox.o:	iintbox.cpp *.h $(ALL)
	$(CC) -c iintbox.cpp

irealbox.o:	irealbox.cpp *.h $(ALL)
	$(CC) -c irealbox.cpp

istatbar.o:	istatbar.cpp *.h $(ALL)
	$(CC) -c istatbar.cpp

islider.o:	islider.cpp *.h $(ALL)
	$(CC) -c islider.cpp

itextbox.o:	itextbox.cpp *.h $(ALL)
	$(CC) -c itextbox.cpp

ilistbox.o:	ilistbox.cpp *.h $(ALL)
	$(CC) -c ilistbox.cpp

igbox.o:	igbox.cpp *.h $(ALL)
	$(CC) -c igbox.cpp

main.o:	main.cpp *.h $(ALL)
	$(CC) -c main.cpp

idialogs.o:	idialogs.cpp *.h $(ALL)
	$(CC) -c idialogs.cpp

clean: main.cpp
	rm -f *.[oa] libibtk.so.* main core

install:	*.h libibtk.a
	install -d $(INSTDIR)/lib
	install libibtk.a $(INSTDIR)/lib
	install -d $(INSTDIR)/include/ibtk/
	install ibox.h $(INSTDIR)/include/ibtk/
	install ibutton.h $(INSTDIR)/include/ibtk/
	install idialogs.h $(INSTDIR)/include/ibtk/
	install idodad.h $(INSTDIR)/include/ibtk/
	install igbox.h $(INSTDIR)/include/ibtk/
	install iintbox.h $(INSTDIR)/include/ibtk/
	install ilistbox.h $(INSTDIR)/include/ibtk/
	install irealbox.h $(INSTDIR)/include/ibtk/
	install isbutton.h $(INSTDIR)/include/ibtk/
	install islider.h $(INSTDIR)/include/ibtk/
	install istatbar.h $(INSTDIR)/include/ibtk/
	install itextbox.h $(INSTDIR)/include/ibtk/
	install iwindow.h $(INSTDIR)/include/ibtk/
	install version.h $(INSTDIR)/include/ibtk/
	install pclaim.h $(INSTDIR)/include/ibtk/

install_share: install $(SHAREF)
	install -d $(INSTDIR)/lib
	install $(SHAREF) $(INSTDIR)/lib
	ln -sf $(SHAREN) $(INSTDIR)/lib/$(SHARE)
	ldconfig
