Index: doc/libdict.3 =================================================================== --- doc/libdict.3 (revision 1138) +++ doc/libdict.3 (revision 1186) @@ -195,7 +195,7 @@ [ ... connection is established ... ] dicts = ld_getdbs(dictconn); while(dicts[x]) { - printf("Dictionary: %s\nDescription: %s\n", + printf("Dictionary: %s\\nDescription: %s\\n", dicts[x]->ld_dbname, dicts[x]->ld_dbdesc); x++; } @@ -254,7 +254,7 @@ answers = ld_match(dictconn, "hello"); while(answers[x]) { - printf("Word: %s\nDictionary: %s\n", + printf("Word: %s\\nDictionary: %s\\n", answers[x]->answord, answers[x]->ansdict); x++; } Index: doc/Makefile =================================================================== --- doc/Makefile (revision 0) +++ doc/Makefile (revision 1186) @@ -0,0 +1,53 @@ +MAN3 = libdict.3 +MAN3Z = ${MAN3}.gz +DOCS = LICENSE responses rfc2229.txt version-history vi-profile + +PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +INCDIR ?= ${PREFIX}/include +MANDIR ?= ${PREFIX}/man +MAN3DIR ?= ${MANDIR}/man3 +DOCDIR ?= ${PREFIX}/share/doc/libdict + +LIBTOOL ?= libtool +GZIP ?= gzip +GZIP_ARGS ?= -c9 +RM ?= rm -f +MKDIR ?= mkdir -p + +BINOWN ?= root +BINGRP ?= root +BINMODE ?= 555 +NOBINMODE ?= 444 +LIBOWN ?= ${BINOWN} +LIBGRP ?= ${BINGRP} +LIBMODE ?= ${NOBINMODE} +SHAREOWN ?= ${BINOWN} +SHAREGRP ?= ${BINGRP} +SHAREMODE ?= ${NOBINMODE} + +INSTALL ?= install +INSTALL_COPY ?= -c +STRIP ?= -s + +INSTALL_PROGRAM ?= ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${STRIP} +INSTALL_LIB ?= ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} ${STRIP} +INSTALL_DATA ?= ${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} + +all: ${MAN3Z} + +${MAN3Z}: ${MAN3} + ${GZIP} ${GZIP_ARGS} ${MAN3} > ${MAN3Z} || ${RM} ${MAN3Z} + +install: all install-man install-doc + +install-man: ${MAN3Z} + ${MKDIR} ${DESTDIR}${MAN3DIR} + ${INSTALL_DATA} ${MAN3Z} ${DESTDIR}${MAN3DIR} + +install-doc: + ${MKDIR} ${DESTDIR}${DOCDIR} + ${INSTALL_DATA} ${DOCS} ${DESTDIR}${DOCDIR} + +clean: + ${RM} ${MAN3Z} Index: src/libdict.c =================================================================== --- src/libdict.c (revision 1138) +++ src/libdict.c (revision 1186) @@ -100,6 +100,8 @@ #include #include +#include + #include "libdict.h" #include "ldutil.h" #include "ldsock.h" @@ -248,7 +250,7 @@ if(!(dictport = getservbyname("dict", "tcp"))) { port = LD_DEFPORT; } else { - port = dictport->s_port; + port = ntohs(dictport->s_port); } } Index: src/Makefile =================================================================== --- src/Makefile (revision 1138) +++ src/Makefile (revision 1186) @@ -1,30 +1,77 @@ -CWARN = -Wall -#CFLAGS = -O2 -Iinclude/ -I/usr/local/include -Wall # For production. -CFLAGS = -g -Iinclude/ -I/usr/local/include -Wall -CC = cc +CWARN ?= -Wall +#CFLAGS = -O2 # For production. +CFLAGS ?= -g +CFLAGS += -Iinclude/ ${CWARN} +CXXFLAGS ?= ${CFLAGS} +CC ?= cc +CXX ?= c++ SRC = libdict.c ldsock.c ldutil.c lderrno.c OBJ = libdict.o ldsock.o ldutil.o lderrno.o -CPPSRC = libdict-wrap.cpp -CPPOBJ = libdict-wrap.o -LIBDIR = /usr/local/lib -INCDIR = /usr/local/include +LIBOBJ = libdict.lo ldsock.lo ldutil.lo lderrno.lo +CPPSRC = libdict-wrap.cpp +CPPOBJ = libdict-wrap.o +CPPLIBOBJ = libdict-wrap.lo +LTLIB = libdict.la +LTLIBXX = libdict++.la +PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +INCDIR ?= ${PREFIX}/include -all: libdict.a example +LIBTOOL ?= libtool +MKDIR ?= mkdir -p +BINOWN ?= root +BINGRP ?= root +BINMODE ?= 555 +NOBINMODE ?= 444 +LIBOWN ?= ${BINOWN} +LIBGRP ?= ${BINGRP} +LIBMODE ?= ${NOBINMODE} +SHAREOWN ?= ${BINOWN} +SHAREGRP ?= ${BINGRP} +SHAREMODE ?= ${NOBINMODE} + +INSTALL ?= install +INSTALL_COPY ?= -c +STRIP ?= -s + +INSTALL_PROGRAM ?= ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${STRIP} +INSTALL_LIB ?= ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} ${STRIP} +INSTALL_DATA ?= ${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} + +all: ${LTLIB} ${LTLIBXX} example + +%.lo : %.c + ${LIBTOOL} --mode=compile ${CC} -c ${CFLAGS} $< + +%.lo : %.cpp + ${LIBTOOL} --mode=compile ${CXX} -c ${CXXFLAGS} $< + install: all - (cp -f libdict.a ${LIBDIR}) - (cd include; cp -f *.h ${INCDIR}) + ${MKDIR} ${DESTDIR}${LIBDIR} + ${LIBTOOL} --mode=install ${INSTALL_LIB} ${LTLIB} ${LTLIBXX} ${DESTDIR}${LIBDIR} + ${MKDIR} ${DESTDIR}${INCDIR} + ${INSTALL_DATA} include/*.h ${DESTDIR}${INCDIR} + libdict-wrap.o: ${CXX} ${CFLAGS} -c libdict-wrap.cpp -libdict.a: ${OBJ} ${CPPOBJ} - rm -f libdict.a - ar rc libdict.a *.o - ranlib libdict.a + +${LTLIB}: ${LIBOBJ} + ${LIBTOOL} --mode=link ${CC} ${CFLAGS} -rpath ${LIBDIR} -o ${LTLIB} -version-info 0:0:0 ${LIBOBJ} + +${LTLIBXX}: ${CPPLIBOBJ} + ${LIBTOOL} --mode=link ${CXX} ${CXXFLAGS} -rpath ${LIBDIR} -o ${LTLIBXX} -version-info 0:0:0 ${CPPLIBOBJ} ${LTLIB} + clean: clean-example - rm -f *.o *.core core + ${LIBTOOL} --mode=clean rm -f ${LIBOBJ} ${CPPLIBOBJ} ${LTLIB} ${LTLIBXX} + superclean: clean rm -f libdict.a + example: - (cd examples; make) + (cd examples; ${MAKE}) + clean-example: - (cd examples; make clean) + (cd examples; ${MAKE} clean) + +.PHONY: all install clean superclean example clean-example Index: src/examples/cpptest.cpp =================================================================== --- src/examples/cpptest.cpp (revision 1138) +++ src/examples/cpptest.cpp (revision 1186) @@ -32,6 +32,8 @@ #include #include "libdict-wrap.hpp" +using namespace std; + int main(int argc, char **argv) { class dictConn dc; char optch; Index: src/examples/Makefile =================================================================== --- src/examples/Makefile (revision 1138) +++ src/examples/Makefile (revision 1186) @@ -1,14 +1,26 @@ -CWARN = -Wall -#CFLAGS = -O2 -I../include/ -I/usr/local/include/ -CFLAGS = -g -I../include -I/usr/local/include -CC = cc -LIBS = -L../ -ldict +CWARN ?= -Wall +#CFLAGS = -O2 +CFLAGS ?= -g +CFLAGS += -I../include ${CWARN} +CXXFLAGS ?= ${CFLAGS} +CC ?= cc +CXX ?= c++ +LIBTOOL ?= libtool + all: dictcli cpptest -dictcli: - cc -o dictcli dictcli.c ${LIBS} ${CFLAGS} ${CWARN} ${LDFLAGS} -cpptest: - c++ -o cpptest cpptest.cpp ${LIBS} ${CFLAGS} ${CWARN} ${LDFLAGS} +dictcli.lo: dictcli.c + ${LIBTOOL} --mode=compile ${CC} -c ${CFLAGS} -o $@ $< + +dictcli: dictcli.lo + ${LIBTOOL} --mode=link ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $< ../libdict.la + +cpptest.lo: cpptest.cpp + ${LIBTOOL} --mode=compile ${CXX} -c ${CXXFLAGS} -o $@ $< + +cpptest: cpptest.lo + ${LIBTOOL} --mode=link ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ $< ../libdict++.la + clean: - rm -f *.o dictcli cpptest *.core + ${LIBTOOL} --mode=clean rm -f dictcli.lo cpptest.lo dictcli cpptest Index: Makefile =================================================================== --- Makefile (revision 0) +++ Makefile (revision 1186) @@ -0,0 +1,17 @@ +PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +INCDIR ?= ${PREFIX}/include + +all: + cd src && ${MAKE} + cd doc && ${MAKE} + +clean: + cd src && ${MAKE} clean + cd doc && ${MAKE} clean + +install: + cd src && ${MAKE} install + cd doc && ${MAKE} install + +.PHONY: clean all install