@MCOMMON@
+.PHONY: all
+first_rule: all
+
topdir = @BUILD_DIR@
working_dir = @working_dir@
LIBTOOL_CLEAN_TARGET = @LIBTOOL_CLEAN_TARGET@
SYSCONFDIR=@sysconfdir@
+_GIT := $(shell eval $(topdir)/scripts/getgitcommit)
+VERSIONGIT = "/git-$(_GIT)"
+
SYBASE_TMPDIR = @sybase_tmpdir@
SYBASE_CONFIG = @sysconfdir@/sbt.conf
SBTCONFIG = @sysconfdir@/sbt.conf
PLUGINLIBDIR = $(FDPLUGDIR)/pluginlib
UNITTESTSOBJ = $(LIBDIR)/unittests.lo
+INIOBJ = $(LIBDIR)/ini.lo
LIBBACOBJ = $(LIBDIR)/libbac.la
+LIBBACCFGOBJ = $(LIBDIR)/libbaccfg.la
INIOBJ = $(LIBDIR)/ini.lo
-PLUGINLIBOBJ = $(PLUGINLIBDIR)/pluginlib.lo
METAPLUGINOBJ = $(PLUGINLIBOBJ) $(PLUGINLIBDIR)/ptcomm.lo $(PLUGINLIBDIR)/metaplugin.lo $(PLUGINLIBDIR)/metaplugin_attributes.lo $(PLUGINLIBDIR)/metaplugin_accurate.lo $(PLUGINLIBDIR)/metaplugin_metadata.lo
+PLUGINLIBOBJ = $(PLUGINLIBDIR)/pluginlib.lo
+PLUGINBASE = $(PLUGINLIBOBJ) $(PLUGINLIBDIR)/pluginclass.lo $(PLUGINLIBDIR)/pluginbase.lo $(PLUGINLIBDIR)/pluginctx.lo
EXTRA_INSTALL_TARGET = @FD_PLUGIN_INSTALL@
$(UNITTESTSOBJ):
$(MAKE) -C $(LIBDIR) unittests.lo
+$(INIOBJ):
+ $(MAKE) -C $(LIBDIR) ini.lo
+
$(LIBBACOBJ):
$(MAKE) -C $(LIBDIR) libbac.la
$(INIOBJ):
$(MAKE) -C $(LIBDIR) ini.lo
+$(LIBBACCFGOBJ):
+ $(MAKE) -C $(LIBDIR) libbaccfg.la
+
$(PLUGINLIBDIR)/test_metaplugin_backend.lo:
$(MAKE) -C $(PLUGINLIBDIR) test_metaplugin_backend.lo
$(PLUGINLIBDIR)/execprog.lo: $(PLUGINLIBDIR)/execprog.cpp $(PLUGINLIBDIR)/execprog.h
$(MAKE) -C $(PLUGINLIBDIR) execprog.lo
+
+$(PLUGINLIBDIR)/pluginclass.lo: $(PLUGINLIBDIR)/pluginclass.cpp $(PLUGINLIBDIR)/pluginclass.h
+ $(MAKE) -C $(PLUGINLIBDIR) pluginclass.lo
+
+$(PLUGINLIBDIR)/pluginbase.lo: $(PLUGINLIBDIR)/pluginbase.cpp $(PLUGINLIBDIR)/pluginbase.h
+ $(MAKE) -C $(PLUGINLIBDIR) pluginbase.lo
+
+$(PLUGINLIBDIR)/pluginctx.lo: $(PLUGINLIBDIR)/pluginctx.cpp $(PLUGINLIBDIR)/pluginctx.h
+ $(MAKE) -C $(PLUGINLIBDIR) pluginctx.lo
include ../Makefile.inc
-_GIT := $(shell eval $(topdir)/scripts/getgitcommit)
-VERSIONGIT = "/git-$(_GIT)"
-
-LIBBACCFGOBJ = $(LIBDIR)/libbaccfg.la
-
PLUGINLIBSSRC = pluginlib.cpp pluginlib.h
PLUGINLIBSOBJ = $(filter %.lo,$(PLUGINLIBSSRC:.cpp=.lo))
ISO8601SRC = iso8601.cpp iso8601.h
EXECPROGOBJ = $(filter %.lo,$(EXECPROGSRC:.cpp=.lo))
PTCOMMSRC = ptcomm.cpp ptcomm.h
PTCOMMOBJ = $(filter %.lo,$(PTCOMMSRC:.cpp=.lo))
+PLUGINBASESRC = pluginbase.h # pluginbase.cpp
+PLUGINBASEOBJ = $(filter %.lo,$(PLUGINBASESRC:.cpp=.lo))
+PLUGINCLASSSRC = pluginclass.h # pluginclass.cpp
+PLUGINCLASSOBJ = $(filter %.lo,$(PLUGINCLASSSRC:.cpp=.lo))
+PLUGINCTXSRC = pluginctx.h pluginctx.cpp
+PLUGINCTXOBJ = $(filter %.lo,$(PLUGINCTXSRC:.cpp=.lo))
COMMCTXSRC = commctx.h
SMARTALISTSRC = smartalist.h
SMARTPTRSRC = smartptr.h
METAPLUGINSRC = metaplugin.cpp metaplugin.h metaplugin_attributes.cpp metaplugin_attributes.h metaplugin_accurate.cpp metaplugin_accurate.h metaplugin_metadata.cpp metaplugin_metadata.h $(SMARTMUTEXSRC) $(SMARTLOCKSRC) $(COMMCTXSRC)
METAPLUGINOBJ = $(filter %.lo,$(METAPLUGINSRC:.cpp=.lo))
-PLUGINLIBSTEST = pluginlib_test.cpp $(PLUGINLIBSSRC)
-PLUGINLIBSTESTOBJ = $(filter %.lo,$(PLUGINLIBSTEST:.cpp=.lo)) $(INIOBJ) $(UNITTESTSOBJ)
-ISO8601TEST = iso8601_test.cpp $(ISO8601SRC)
-ISO8601TESTOBJ = $(filter %.lo,$(ISO8601TEST:.cpp=.lo)) $(UNITTESTSOBJ)
-COMMCTXTEST = commctx_test.cpp $(COMMCTXSRC) $(SMARTALISTSRC)
-COMMCTXTESTOBJ = $(filter %.lo,$(COMMCTXTEST:.cpp=.lo)) $(INIOBJ) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ)
-SMARTALISTTEST = smartalist_test.cpp $(SMARTALISTSRC)
-SMARTALISTTESTOBJ = $(filter %.lo,$(SMARTALISTTEST:.cpp=.lo)) $(INIOBJ) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ)
-SMARTPTRTEST = smartptr_test.cpp $(SMARTPTRSRC)
-SMARTPTRTESTOBJ = $(filter %.lo,$(SMARTPTRTEST:.cpp=.lo)) $(INIOBJ) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ)
-SMARTLOCKTEST = smartlock_test.cpp $(SMARTLOCKSRC)
-SMARTLOCKTESTOBJ = $(filter %.lo,$(SMARTLOCKTEST:.cpp=.lo)) $(INIOBJ) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ)
+PLUGINLIBSTEST = pluginlib_test.cpp $(PLUGINLIBSSRC) $(UNITTESTSOBJ) $(INIOBJ)
+PLUGINLIBSTESTOBJ = $(filter %.lo,$(PLUGINLIBSTEST:.cpp=.lo))
+ISO8601TEST = iso8601_test.cpp $(ISO8601SRC) $(UNITTESTSOBJ)
+ISO8601TESTOBJ = $(filter %.lo,$(ISO8601TEST:.cpp=.lo))
+COMMCTXTEST = commctx_test.cpp $(COMMCTXSRC) $(SMARTALISTSRC) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ) $(INIOBJ)
+COMMCTXTESTOBJ = $(filter %.lo,$(COMMCTXTEST:.cpp=.lo))
+SMARTALISTTEST = smartalist_test.cpp $(SMARTALISTSRC) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ) $(INIOBJ)
+SMARTALISTTESTOBJ = $(filter %.lo,$(SMARTALISTTEST:.cpp=.lo))
+SMARTPTRTEST = smartptr_test.cpp $(SMARTPTRSRC) $(PLUGINLIBSOBJ) $(UNITTESTSOBJ) $(INIOBJ)
+SMARTPTRTESTOBJ = $(filter %.lo,$(SMARTPTRTEST:.cpp=.lo))
+SMARTLOCKTEST = smartlock_test.cpp $(SMARTLOCKSRC) $(SMARTMUTEXSRC) $(UNITTESTSOBJ)
+SMARTLOCKTESTOBJ = $(filter %.lo,$(SMARTLOCKTEST:.cpp=.lo))
METAPLUGINTEST = metaplugin_test.cpp $(METAPLUGINSRC)
-METAPLUGINTESTOBJ = $(filter %.lo,$(METAPLUGINTEST:.cpp=.lo)) $(PTCOMMOBJ) $(PLUGINLIBSOBJ) $(METAPLUGINOBJ) $(UNITTESTSOBJ)
+METAPLUGINTESTOBJ = $(filter %.lo,$(METAPLUGINTEST:.cpp=.lo)) $(PTCOMMOBJ) $(PLUGINLIBSOBJ) $(METAPLUGINOBJ) $(UNITTESTSOBJ) $(LIBBACOBJ) $(LIBBACCFGOBJ)
TESTMETAPLUGINBACKENDSRC = test_metaplugin_backend.c
TESTMETAPLUGINBACKENDOBJ = $(TESTMETAPLUGINBACKENDSRC:.c=.lo)
# COMMONPLUGINOBJ = $(PLUGINLIBSOBJ) $(ISO8601OBJ) $(EXECPROGOBJ)
-COMMONPLUGINOBJ = $(PLUGINLIBSOBJ) $(PTCOMMOBJ) $(METAPLUGINOBJ)
+COMMONPLUGINOBJ = $(PLUGINLIBSOBJ) $(PTCOMMOBJ) $(METAPLUGINOBJ) $(PLUGINCLASSOBJ) $(PLUGINBASEOBJ)
# COMMONPLUGINTESTS = iso8601_test
COMMONPLUGINTESTS = pluginlib_test smartalist_test smartptr_test commctx_test
iso8601_test: $(ISO8601TESTOBJ) $(ISO8601SRC) $(UNITTESTSOBJ) $(LIBBACOBJ)
@echo "Building $@ ..."
- $(NO_ECHO)$(LIBTOOL_LINK) --silent $(CXX) $(LDFLAGS) -L$(LIBDIR) -lbac $(PLUGINLIBSTESTOBJ) -o $@
+ $(NO_ECHO)$(LIBTOOL_LINK) --silent $(CXX) $(LDFLAGS) -L$(LIBDIR) -lbac $(ISO8601TESTOBJ) -o $@
-metaplugin_test: $(METAPLUGINTESTOBJ) $(LIBBACOBJ)
+metaplugin_test: $(METAPLUGINTESTOBJ)
@echo "Building $@ ..."
$(LIBTOOL_LINK) --silent $(CXX) $(LDFLAGS) -L$(LIBDIR) $(LIBBACCFGOBJ) $(LIBBACOBJ) $(METAPLUGINTESTOBJ) -o $@