The Makefile.am file that I'm using to generate an archive library for a project I'm working on looks like this:
---
AM_CXXFLAGS = -I$(top_srcdir) -I.
lib_LIBRARIES = libflarray.a libflarray_a_SOURCES = FLArray.cc \ FLArray.hh \ FLSorted.cc \ FLSorted.hh
---
The output from make clean ; make in this directory after the Makefile has been generated is this:
---
steely:~/src/paul/cvs/cbrc/C++/utils/FLArray cjcollier$ make clean
test -z "libflarray.a" || rm -f libflarray.a
rm -f *.o core *.core
steely:~/src/paul/cvs/cbrc/C++/utils/FLArray cjcollier$ make
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cbrc\" -DVERSION=\"1.0\" -I. -I. -I../.. -I. -g -O2 -MT FLArray.o -MD -MP -MF ".deps/FLArray.Tpo" \
-c -o FLArray.o `test -f 'FLArray.cc' || echo './'`FLArray.cc; \
then mv -f ".deps/FLArray.Tpo" ".deps/FLArray.Po"; \
else rm -f ".deps/FLArray.Tpo"; exit 1; \
fi
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cbrc\" -DVERSION=\"1.0\" -I. -I. -I../.. -I. -g -O2 -MT FLSorted.o -MD -MP -MF ".deps/FLSorted.Tpo" \
-c -o FLSorted.o `test -f 'FLSorted.cc' || echo './'`FLSorted.cc; \
then mv -f ".deps/FLSorted.Tpo" ".deps/FLSorted.Po"; \
else rm -f ".deps/FLSorted.Tpo"; exit 1; \
fi
rm -f libflarray.a
ar cru libflarray.a FLArray.o FLSorted.o
ranlib libflarray.a
ranlib: warning for library: libflarray.a the table of contents is empty (no object file members in the library define global symbols)
---
And when I try to link against that .a file, I get this error:
---
steely:~/src/paul/cvs/cbrc/C++/classifiers/learnedWeightKNN/test cjcollier$ make
g++ -I../../.. -I. -g -O2 -o PSORT+WoLFpredictForCJ PSORT+WoLFpredictForCJ.o ../../../utils/FLArray/libflarray.a ../../../utils/perlish/libperlish.a ../../../classifiers/libclassifiers.a ../../../classifiers/learnedWeightKNN/liblearnedWeightKNN.a
ld: warning empty table of contents: ../../../utils/FLArray/libflarray.a (can't load from it)
---
Can someone help me figure out how to generate a good archive library? I'm new to this.
Thanks in advance.
C.J.
and in case this matters:
---
$ uname -a
Darwin steely.viceroy.swn 7.4.0 Darwin Kernel Version 7.4.0: Wed May 12 16:58:24 PDT 2004; root:xnu/xnu-517.7.7.obj~7/RELEASE_PPC Power Macintosh powerpc