diff --git a/Makefile b/Makefile index b46b6ee..ceb7fff 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ PREFIX=/usr LIB=neural++ CC=g++ CFLAGS=-Wall -pedantic -pedantic-errors -ansi +include Makefile.am all: ${CC} -I${INCLUDEDIR} ${CFLAGS} -fPIC -g -c ${SRCDIR}/neuralnet.cpp @@ -11,9 +12,14 @@ all: ${CC} -I${INCLUDEDIR} ${CFLAGS} -fPIC -g -c ${SRCDIR}/neuron.cpp ${CC} -I${INCLUDEDIR} ${CFLAGS} -fPIC -g -c ${SRCDIR}/synapsis.cpp ${CC} -I${INCLUDEDIR} ${CFLAGS} -fPIC -g -c ${SRCDIR}/Markup.cpp - ${CC} -shared -Wl,-soname,lib$(LIB).so.0 -o lib${LIB}.so.0.0.0 neuralnet.o layer.o neuron.o synapsis.o Markup.o +ifeq ($(OSNAME),Darwin) + ${CC} ${LDLIBS} -shared -Wl,-install_name,lib$(LIB).so.0 -o lib${LIB}.so.0.0.0 neuralnet.o layer.o neuron.o synapsis.o Markup.o +else + ${CC} ${LDLIBS} -shared -Wl,-soname,lib$(LIB).so.0 -o lib${LIB}.so.0.0.0 neuralnet.o layer.o neuron.o synapsis.o Markup.o +endif ar rcs lib${LIB}.a neuralnet.o layer.o neuron.o synapsis.o Markup.o +.PHONY: install install: mkdir -p ${PREFIX}/lib mkdir -p ${PREFIX}/${INCLUDEDIR} @@ -33,22 +39,14 @@ install: ln -sf ${PREFIX}/lib/lib${LIB}.so.0.0.0 ${PREFIX}/lib/lib${LIB}.so.0 uninstall: - rm ${PREFIX}/lib/lib${LIB}.a - rm ${PREFIX}/${INCLUDEDIR}/${LIB}.hpp - rm ${PREFIX}/${INCLUDEDIR}/${LIB}_exception.hpp - rm ${PREFIX}/lib/lib${LIB}.so.0.0.0 - rm ${PREFIX}/lib/lib${LIB}.so.0 - rm ${PREFIX}/share/${LIB}/README - rm ${PREFIX}/share/${LIB}/INSTALL - rm ${PREFIX}/share/${LIB}/BUGS - rm ${PREFIX}/share/${LIB}/VERSION - rm ${PREFIX}/share/${LIB}/ChangeLog - rm -r ${PREFIX}/share/${LIB}/doc - rm -r ${PREFIX}/share/${LIB}/examples - rmdir ${PREFIX}/share/${LIB} + rm -f ${PREFIX}/${INCLUDEDIR}/${LIB}.hpp + rm -f ${PREFIX}/lib/lib${LIB}.so.0.0.0 + rm -f ${PREFIX}/lib/lib${LIB}.so.0 + rm -rf ${PREFIX}/share/${LIB} +.PHONY: clean clean: - rm *.o - rm lib${LIB}.so.0.0.0 - rm lib${LIB}.a + rm -f *.o + rm -f lib${LIB}.so.0.0.0 + rm -f lib${LIB}.a diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..26248d0 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,7 @@ +OSNAME := $(shell uname) +LDLIBS= + +ifeq ($(OSNAME),Darwin) + LDLIBS += -liconv +endif + diff --git a/README b/README index cf39d4d..15a5f87 100644 --- a/README +++ b/README @@ -16,6 +16,9 @@ Released under GNU GPL licence v.3, copyright 2008-2009 > To link programs with it: g++ -lneural++ +- Note: because of iconv link bug on OSX, on this system you have to link like that: + g++ -liconv -lneural++ + > HOWTO: # Take a look to the example in "examples" directory in the source package, in $PREFIX/share/neural++ or at http://blacklight.gotdns.org/prog/neuralpp/examples . diff --git a/examples/Makefile b/examples/Makefile index 75e14a6..8a63303 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,11 +1,14 @@ +include ../Makefile.am +LDLIBS+=-lneural++ + all: - g++ -Wall -o learnAdd learnAdd.cpp -lneural++ - g++ -Wall -o doAdd doAdd.cpp -lneural++ - g++ -Wall -o networkForSumsAndSubtractions networkForSumsAndSubtractions.cpp -lneural++ - g++ -Wall -o adderFromString adderFromString.cpp -lneural++ + g++ -Wall -o learnAdd learnAdd.cpp ${LDLIBS} + g++ -Wall -o doAdd doAdd.cpp ${LDLIBS} + g++ -Wall -o networkForSumsAndSubtractions networkForSumsAndSubtractions.cpp ${LDLIBS} + g++ -Wall -o adderFromString adderFromString.cpp ${LDLIBS} clean: - rm learnAdd - rm doAdd - rm networkForSumsAndSubtractions - rm adderFromString + rm -f learnAdd + rm -f doAdd + rm -f networkForSumsAndSubtractions + rm -f adderFromString