# much of this file would be the same for all components. # Usually just the first few variable values change. # base name COMPONENT=SimpleStamper # C style prefix for wrapper PACKAGE_PREFIX=eg_neo_ # C++ namespace of component class, if any. PACKAGE_NAMESPACE=eg::neo:: # user interface string name to use for class PALETTE_ALIAS=eg.neo.SimpleStamper # dir where component library will be finally installed LIBDIR=@EGNEO_INSTALL_ROOT@/lib/ # version PACKAGE_VERSION=@EGNEO_VERSION@ # stuff below here might change if component # .so needs special linking or compilation include @NEOCCA_MAKEINCL@ LIBTOOL=$(NEOCCA_BABEL_LIBTOOL) INCLUDES=-I../include OTHERFLAGS = $(NEOCCA_INC) $(INCLUDES) CXX = $(NEOCCA_CXX) CXXFLAGS = $(NEOCCA_CXX_FLAGS) %.lo : %.cpp $(HIDELIBTOOL)$(NEOCCA_BABEL_LIBTOOL) --mode=compile --tag=CXX \ $(CXX) $(HIDECOMPILE) -c $(CXXFLAGS) $(OTHERFLAGS) $< %.i : %.cpp $(CXX) -c -E $(CXXFLAGS) $(OTHERFLAGS) $< > $@ CXXSRC = $(COMPONENT).cpp CXXOBJ = $(CXXSRC:%.cpp=%.lo) # most component add-on's should end up as a lib.a or lib.so or lib.la LIBTOOL_INDEX=$(PACKAGE_PREFIX)$(COMPONENT)-$(PACKAGE_VERSION)-libtool.depl.cca STATIC_INDEX=$(PACKAGE_PREFIX)$(COMPONENT)-$(PACKAGE_VERSION)-static.depl.cca DYNAMIC_INDEX=$(PACKAGE_PREFIX)$(COMPONENT)-$(PACKAGE_VERSION)-dynamic.depl.cca LIBTOOL_LIB=lib$(COMPONENT)-$(PACKAGE_VERSION).la STATIC_LIB=lib$(COMPONENT)-$(PACKAGE_VERSION).a DYNAMIC_LIB=lib$(COMPONENT)-$(PACKAGE_VERSION)$(NEOCCA_SHLIB_SUFFIX) OBJS=$(CXXOBJ) all : lib $(STATIC_INDEX) $(DYNAMIC_INDEX) $(LIBTOOL_INDEX) lib: $(OBJS) @echo "$(COMPONENT) libtool lib building..." $(HIDELIBTOOL)$(LIBTOOL) --mode=link --tag=CXX $(HIDECOMPILE) \ $(CXX) $(CCASPEC_LIBTOOL_LINKFLAGS) $(CXXFLAGS) $(OTHERFLAGS) \ $(OBJS) -o $(LIBTOOL_LIB) \ -rpath $(LIBDIR) ltindex $(LIBTOOL_INDEX): @$(NEOCCA_GEN_LIBTOOL_XML) \ $(LIBDIR)$(LIBTOOL_LIB) \ $(PACKAGE_NAMESPACE)$(COMPONENT) \ create_$(PACKAGE_PREFIX)$(COMPONENT) \ $(PALETTE_ALIAS) \ headers /somewhere SimpleStamper.hh \ > $(LIBTOOL_INDEX) @echo "$(COMPONENT) libtool index built." sindex $(STATIC_INDEX): @$(NEOCCA_GEN_COMPONENT_XML) \ $(STATIC_LIB) \ create_$(PACKAGE_PREFIX)$(COMPONENT) \ $(PACKAGE_NAMESPACE)$(COMPONENT) \ $(LIBDIR) \ $(PALETTE_ALIAS) \ static > $(STATIC_INDEX) @echo "$(COMPONENT) static index built." dindex $(DYNAMIC_INDEX): @$(NEOCCA_GEN_COMPONENT_XML) \ $(DYNAMIC_LIB) \ create_$(PACKAGE_PREFIX)$(COMPONENT) \ $(PACKAGE_NAMESPACE)$(COMPONENT) \ $(LIBDIR) \ $(PALETTE_ALIAS) \ dynamic > $(DYNAMIC_INDEX) @echo "$(COMPONENT) dynamic index built." clean : $(LIBTOOL) --mode=clean $(RM) $(CXXOBJ) $(LIBTOOL_LIB) $(STATIC_LIB) $(DYNAMIC_LIB) *~ \#* *.a *.so *.o *.exe *.cca distclean: clean $(RM) eg-neo-config-*