prefix    = /usr
includedir= /usr/include
libdir    = /usr/lib
mandir    = /usr/man
LIBNAME   = mba
SONAME    = lib$(LIBNAME).so.0.3.6
SOVERSION = lib$(LIBNAME).so.0.3
CFLAGS    = -Wall -DMSGNO $(RPM_OPT_FLAGS)
OBJS      = src/stack.o src/linkedlist.o src/hashmap.o src/profile.o src/hexdump.o src/msgno.o src/domnode.o src/mbs.o
HDRS      = src/msgno.h src/stack.h src/linkedlist.h src/hashmap.h src/hexdump.h src/domnode.h src/profile.h src/mbs.h
MAN       = msgno.3m.gz stack.3m.gz linkedlist.3m.gz hashmap.3m.gz hexdump.3m.gz domnode.3m.gz

$(SONAME): $(OBJS)
	gcc $(CFLAGS) -shared $(OBJS) -lc -lexpat -Wl,-soname -Wl,$(SOVERSION) -o $(SONAME)
.c.o:
	gcc $(CFLAGS) -fPIC -DPIC -c -o $*.o $<

install: $(SONAME)
	install -d $(libdir)
	install -m 755 $(SONAME) $(libdir)
	cd $(libdir) && ln -sf $(SONAME) $(SOVERSION) && ln -sf $(SONAME) lib$(LIBNAME).so
	install -d $(includedir)/mba
	install -m 444 $(HDRS) $(includedir)/mba
	install -d $(mandir)/man3
	install -m 444 docs/man/* $(mandir)/man3
	-/sbin/ldconfig $(libdir)

clean:
	rm -rf $(includedir)/mba
	rm -f $(OBJS) $(SONAME) $(libdir)/$(SONAME) $(libdir)/$(SOVERSION) $(libdir)/lib$(LIBNAME).so
	cd $(mandir)/man3; rm -f $(MAN)


man:
	java org.apache.xalan.xslt.Process -IN xml/linkedlist.xml -XSL xml/man.xsl -OUT xml/linkedlist.3
ref:
	java org.apache.xalan.xslt.Process -IN xml/domnode.xml -XSL xml/ref.xsl -OUT xml/domnode.html
	#java org.apache.xalan.xslt.Process -IN xml/linkedlist.xml -XSL xml/ref.xsl -OUT xml/linkedlist.html
	#cp xml/domnode.html /home/miallen/public_html/

STYLE=-kr -psl -i8 -l110
print:
	indent $(STYLE) src/linkedlist.h -o docs/linkedlist.h
	indent $(STYLE) src/linkedlist.c -o docs/linkedlist.c
	cd docs && a2ps -l110 -o code.ps linkedlist.h linkedlist.c && gv code.ps

