Hi
Our software application consists of a kernel executable and several shared libraries. Our makefiles build the libraries and executable correctly. However, there is one minor inconvenience, when a source file changes, which is a component of a shared library,
the compilation command for the cpp file is displayed on the console, but the libtool command is not. So it is not clear that the library has been updated.
So I just see something like:
$ make
g++ -c myfile.cpp
$
The makefile for the library contains:
OBJFILES = myfile.o \
myfile2.o
# Build library
include $(TRUNKDIR)/DynLibCommon.mk
DynLibCommon.mk is much more complicated. I won’t include it all here but it contains:
# Rule for building release library
$(SOLIBDIR)/$(OBJDIR_R)/lib$(STARLIBNAME).so : $(patsubst %,$(OBJDIR_R)/%,$(OBJFILES))
$(TRUNKDIR)/$(SVI) $(CURDIR) $(STARLIBNAME)
$(CXX) -c $(CXXFLAGS_R) SourceFileInfo.cpp -o $(OBJDIR_R)/SourceFileInfo.o
@rm -f SourceFileInfo.cpp
$(LIBTOOLCMD) $(CXX) -shared -o $(SOLIBDIR)/$(OBJDIR_R)/lib$(STARLIBNAME).so $(patsubst %,$(OBJDIR_R)/%,$(OBJFILES)) $(OBJDIR_R)/SourceFileInfo.o $(LIBDEPEND)
I don’t know whether I have provided enough information, but if anyone can suggest why the LibTool command is not displayed I will be grateful.
Best regards
David