# Tess makefile

VERSION = 0.4
CXX = g++

INSTTLIB = /usr/local/lib
INSTTINC = /usr/local/include
INSTPPKG = /usr/lib/perl5/site_perl
LDCONFIG = /sbin/ldconfig -n

CCFLAGS   = -O2 -fpic -Wall
CXXFLAGS  = -O2 -fpic -Wall $(GDBM_FLAGS)
WRAPFLAGS = -O2 -fpic -Dexplicit= -I/usr/lib/perl5/i586-linux/5.00404/CORE
PICLDFLAGS = -shared -Wl,-soname,$(shell echo $@ | sed 's/\.[^.]$$//')

OBJS  = type.o surface.o stack.o ppm.o pam.o
SRCS  = type.cc surface.cc stack.cc ppm.cc pam.cc

TLIB = libtess.so.$(VERSION)
PLIB = libTess.so.$(VERSION)

all: $(TLIB) $(PLIB)

$(TLIB): $(OBJS)
	$(CXX) $(PICLDFLAGS) $(OBJS) -o $(TLIB) -lttf

$(PLIB): Tess_wrap.o $(OBJS)
	$(CXX) $(PICLDFLAGS) $(OBJS) Tess_wrap.o -o $(PLIB) -lttf

Tess_wrap.c: Tess.i
	swig -c++ -perl5 -shadow -dnone Tess.i

Tess_wrap.o: Tess_wrap.c
	$(CXX) $(WRAPFLAGS) -c Tess_wrap.c

install: $(TLIB) $(PLIB) Tess.pm
	cp tess.hh $(INSTTINC)
	cp $(TLIB) $(INSTTLIB)
	rm -f $(INSTTLIB)/libtess.so
	ln -s $(INSTTLIB)/libtess.so.$(VERSION) $(INSTTLIB)/libtess.so
	cp $(PLIB) $(INSTTLIB)
	rm -f $(INSTTLIB)/libTess.so
	ln -s $(INSTTLIB)/libTess.so.$(VERSION) $(INSTTLIB)/libTess.so
	$(LDCONFIG) $(INSTTLIB)
	cp Tess.pm $(INSTPPKG)

clean:
	rm -f *.o *.so*

depend:
	$(CXX) $(CXXFLAGS) -MM $(SRCS) > .depend

-include .depend
