# Makefile for cmlog server
include ../Makefile.config

OBJTYPE = .obj/$(TARGETDIR)

#-D_CMLOG_DEBUG
XTRACXXFLAGS := -I. -I../data -I../database/include \
	-I../database -I../Thread -I../Common \
	-I../Network -I$(WRAPPER_ROOT) -D_CMLOG_BUILD_SERVER
# -D_POSIX_C_SOURCE=199506L
XTRACFLAGS := -I. -I. -I../data -I../database/include \
	-I../database -I../Thread -I../Common \
	-I../Network -I$(WRAPPER_ROOT) -D_CMLOG_BUILD_SERVER

# -D_REENTRANT 

ifeq ($(USETHREAD), true)

ifeq ($(TARGET), solaris)
XTRACXXFLAGS := -mt $(XTRACXXFLAGS) -D_CMLOG_USE_THREAD -D_CDEV_USE_THREAD
XTRACFLAGS := -mt $(XTRACFLAGS) -D_CMLOG_USE_THREAD	-D_CDEV_USE_THREAD
endif

ifeq ($(TARGET), sparcv9)
XTRACXXFLAGS := -mt $(XTRACXXFLAGS) -D_CMLOG_USE_THREAD -D_CDEV_USE_THREAD
XTRACFLAGS := -mt $(XTRACFLAGS) -D_CMLOG_USE_THREAD	-D_CDEV_USE_THREAD
endif

ifeq ($(TARGET), solaris-gnu)
XTRACXXFLAGS := $(XTRACXXFLAGS) -D_CMLOG_USE_THREAD -D_CDEV_USE_THREAD
XTRACFLAGS := $(XTRACFLAGS) -D_CMLOG_USE_THREAD	-D_CDEV_USE_THREAD
endif

ifeq ($(TARGET), Linux-i386)
XTRACXXFLAGS := $(XTRACXXFLAGS) -D_CMLOG_USE_THREAD -D_CDEV_USE_THREAD -D_REENTRANT
XTRACFLAGS := $(XTRACFLAGS) -D_CMLOG_USE_THREAD	-D_CDEV_USE_THREAD -D_REENTRANT
endif

ifeq ($(TARGET), Linux-alpha)
XTRACXXFLAGS := $(XTRACXXFLAGS) -D_CMLOG_USE_THREAD -D_CDEV_USE_THREAD -D_REENTRANT
XTRACFLAGS := $(XTRACFLAGS) -D_CMLOG_USE_THREAD	-D_CDEV_USE_THREAD -D_REENTRANT
endif

endif

ifeq ($(USETHREAD), true)
SERVEROBJS = $(OBJTYPE)/cdevData.o \
	$(OBJTYPE)/cdevDataEntry.o \
	$(OBJTYPE)/cdevTagTable.o \
	$(OBJTYPE)/cdevGlobalTagTable.o \
	$(OBJTYPE)/cdevIntHash.o \
	$(OBJTYPE)/cdevStrHash.o \
	$(OBJTYPE)/cdevSlist.o \
	$(OBJTYPE)/cmlog_cdevMessage.o \
	$(OBJTYPE)/cmlog_cdevPacket1.o \
	$(OBJTYPE)/cmlog_cdevTagMap.o \
	$(OBJTYPE)/cmlogMsg.o \
	$(OBJTYPE)/cmlogSlist.o \
	$(OBJTYPE)/cmlogDataCache.o \
	$(OBJTYPE)/cmlogCxtDataCache.o \
	$(OBJTYPE)/cmlogStrHash.o \
	$(OBJTYPE)/cmlogIntHash.o \
	$(OBJTYPE)/cmlogDataQueue.o  \
	$(OBJTYPE)/cpSynch.o \
	$(OBJTYPE)/cpThread.o \
	$(OBJTYPE)/cpThreadManager.o \
	$(OBJTYPE)/cmlogSvcLocaterRep.o \
	$(OBJTYPE)/cmlogServerLocater.o \
	$(OBJTYPE)/cmlogIO.o \
	$(OBJTYPE)/cmlogClientIO.o \
	$(OBJTYPE)/cmlogBrowserIO.o \
	$(OBJTYPE)/cmlogAdminIO.o \
	$(OBJTYPE)/cmlogAcceptor.o \
	$(OBJTYPE)/cmlogClientAcceptor.o \
	$(OBJTYPE)/cmlogBrowserAcceptor.o \
	$(OBJTYPE)/cmlogAdminAcceptor.o \
	$(OBJTYPE)/cmlogPortHandler.o \
	$(OBJTYPE)/cmlogDbaseHandler.o \
	$(OBJTYPE)/cmlogResNotification.o \
	$(OBJTYPE)/cmlogClntCxt.o \
	$(OBJTYPE)/cmlogService.o \
	$(OBJTYPE)/cmlogSignalHandler.o \
	$(OBJTYPE)/cmlogServerAux.o \
	$(OBJTYPE)/cmlogDatabase.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogData.o \
	$(OBJTYPE)/cmlogDataManager.o \
	$(OBJTYPE)/cmlogTagTblData.o \
	$(OBJTYPE)/cmlogUptimeData.o \
	$(OBJTYPE)/y.tab.o \
	$(OBJTYPE)/lex.yy.o \
	$(OBJTYPE)/cmlogLogicSup.o \
	$(OBJTYPE)/cmlogQuerySvc.o \
	$(OBJTYPE)/cmlogQueryManager.o \
	$(OBJTYPE)/cmlogServer.o

DBASECHKOBJS = $(OBJTYPE)/cmlogDbaseCheck.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogDatabase.o \
	$(OBJTYPE)/cdevData.o \
	$(OBJTYPE)/cdevDataEntry.o \
	$(OBJTYPE)/cdevTagTable.o \
	$(OBJTYPE)/cdevGlobalTagTable.o \
	$(OBJTYPE)/cdevIntHash.o \
	$(OBJTYPE)/cdevStrHash.o \
	$(OBJTYPE)/cdevSlist.o \
	$(OBJTYPE)/cpSynch.o \
	$(OBJTYPE)/cpThread.o \
	$(OBJTYPE)/cpThreadManager.o

else
SERVEROBJS = $(OBJTYPE)/cdevData.o \
	$(OBJTYPE)/cdevDataEntry.o \
	$(OBJTYPE)/cdevTagTable.o \
	$(OBJTYPE)/cdevGlobalTagTable.o \
	$(OBJTYPE)/cdevIntHash.o \
	$(OBJTYPE)/cdevStrHash.o \
	$(OBJTYPE)/cdevSlist.o \
	$(OBJTYPE)/cmlog_cdevMessage.o \
	$(OBJTYPE)/cmlog_cdevPacket1.o \
	$(OBJTYPE)/cmlog_cdevTagMap.o \
	$(OBJTYPE)/cmlogMsg.o \
	$(OBJTYPE)/cmlogSlist.o \
	$(OBJTYPE)/cmlogDataCache.o \
	$(OBJTYPE)/cmlogCxtDataCache.o \
	$(OBJTYPE)/cmlogStrHash.o \
	$(OBJTYPE)/cmlogIntHash.o \
	$(OBJTYPE)/cmlogDataQueue.o  \
	$(OBJTYPE)/cpProcessManager.o \
	$(OBJTYPE)/cmlogSvcLocaterRep.o \
	$(OBJTYPE)/cmlogServerLocater.o \
	$(OBJTYPE)/cmlogIO.o \
	$(OBJTYPE)/cmlogClientIO.o \
	$(OBJTYPE)/cmlogBrowserIO.o \
	$(OBJTYPE)/cmlogAdminIO.o \
	$(OBJTYPE)/cmlogAcceptor.o \
	$(OBJTYPE)/cmlogClientAcceptor.o \
	$(OBJTYPE)/cmlogBrowserAcceptor.o \
	$(OBJTYPE)/cmlogAdminAcceptor.o \
	$(OBJTYPE)/cmlogPortHandler.o \
	$(OBJTYPE)/cmlogDbaseHandler.o \
	$(OBJTYPE)/cmlogResNotification.o \
	$(OBJTYPE)/cmlogClntCxt.o \
	$(OBJTYPE)/cmlogSignalHandler.o \
	$(OBJTYPE)/cmlogServerAux.o \
	$(OBJTYPE)/cmlogDatabase.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogData.o \
	$(OBJTYPE)/cmlogDataManager.o \
	$(OBJTYPE)/cmlogTagTblData.o \
	$(OBJTYPE)/cmlogUptimeData.o \
	$(OBJTYPE)/y.tab.o \
	$(OBJTYPE)/lex.yy.o \
	$(OBJTYPE)/cmlogLogicSup.o \
	$(OBJTYPE)/cmlogQuerySvc.o \
	$(OBJTYPE)/cmlogQueryManager.o \
	$(OBJTYPE)/cmlogCleanup.o \
	$(OBJTYPE)/cmlogServer.o

CLRESOBJS = cmlogCleanup.o cmlogCleanupMain.o

DBASECHKOBJS = $(OBJTYPE)/cmlogDbaseCheck.o \
	$(OBJTYPE)/cmlogUtil.o \
	$(OBJTYPE)/cmlogDatabase.o \
	$(OBJTYPE)/cdevData.o \
	$(OBJTYPE)/cdevDataEntry.o \
	$(OBJTYPE)/cdevTagTable.o \
	$(OBJTYPE)/cdevGlobalTagTable.o \
	$(OBJTYPE)/cdevIntHash.o \
	$(OBJTYPE)/cdevStrHash.o \
	$(OBJTYPE)/cdevSlist.o
endif




ifeq ($(TARGET), solaris)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen -ll -ly
endif

ifeq ($(TARGET), sparcv9)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen -ll -ly
endif

ifeq ($(TARGET), solaris-gnu)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lsocket -lnsl \
	-lposix4 -lpthread -lthread -ldl -lgen -ll -ly
endif

ifeq ($(TARGET), solaris-noth)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lsocket -lnsl -ldl -lgen -ll -ly
endif

ifeq ($(TARGET), hpux)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -ll -ly
endif

ifeq ($(TARGET), Linux-i386)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lfl -lpthread
endif

ifeq ($(TARGET), Linux-alpha)
LIBS = -L$(WRAPPER_ROOT)/lib/$(TARGET) -lSACE \
	-L$(LIBDIR) -ldb -lfl -lpthread
endif

ifneq ($(TARGET), vxworks)

ifeq ($(USETHREAD), true)
targets: cleanlex lnaceconfig $(OBJTYPE) cmlogServer cmlogDbaseCheck copybin
else	
targets: cleanlex lnaceconfig $(OBJTYPE) cmlogServer cmlogDbaseCheck cmlogCleanup copybin
endif

else
targets:
endif

cleanlex:
	rm -f lex.yy.c y.tab.c y.tab.h

lnaceconfig:
	rm -f $(WRAPPER_ROOT)/ace/config.h
	ln -s $(ACECONFIGF) $(WRAPPER_ROOT)/ace/config.h

$(OBJTYPE):
	@mkdir -p $(OBJTYPE)

cmlogServer: $(SERVEROBJS)
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -o $@ $(SERVEROBJS) $(LIBS)

cmlogCleanup: $(CLRESOBJS)
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -o $@ $(CLRESOBJS) $(LIBS)

cmlogDbaseCheck: $(DBASECHKOBJS)
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -o $@ $(DBASECHKOBJS) $(LIBS)

ifeq ($(USETHREAD), true)
copybin: cmlogServer cmlogDbaseCheck
	if test ! -d $(BINDIR); then mkdir -p $(BINDIR); else echo; fi
	mv cmlogServer cmlogDbaseCheck $(BINDIR)
else
copybin: cmlogServer cmlogCleanup cmlogDbaseCheck
	if test ! -d $(BINDIR); then mkdir -p $(BINDIR); else echo; fi
	mv cmlogServer cmlogCleanup cmlogDbaseCheck $(BINDIR)
endif

clean:
	rm -rf *.o core *~ cmlogServer cmlogDbaseCheck cmlogCleanup .obj lex.yy.c y.tab.c y.tab.h


#########################################################################
# do not edit the followings
ifeq ($(USETHREAD), true)
$(OBJTYPE)/cmlogSignalHandler.o: cmlogSignalHandler.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -D_POSIX_PTHREAD_SEMANTICS -c $< -o $@
else

$(OBJTYPE)/cmlogSignalHandler.o: cmlogSignalHandler.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c $< -o $@
endif



$(OBJTYPE)/cpSynch.o: ../Thread/cpSynch.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Thread/cpSynch.cc -o $@

$(OBJTYPE)/cpThread.o: ../Thread/cpThread.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -D_POSIX_C_SOURCE=199506L -c ../Thread/cpThread.cc -o $@

$(OBJTYPE)/cpThreadManager.o: ../Thread/cpThreadManager.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Thread/cpThreadManager.cc -o $@

$(OBJTYPE)/cpProcessManager.o: ../Common/cpProcessManager.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cpProcessManager.cc -o $@


$(OBJTYPE)/cdevData.o: ../data/cdevData.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevData.cc -o $@

$(OBJTYPE)/cdevDataEntry.o: ../data/cdevDataEntry.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevDataEntry.cc -o $@


$(OBJTYPE)/cdevTagTable.o: ../data/cdevTagTable.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevTagTable.cc -o $@

$(OBJTYPE)/cdevGlobalTagTable.o: ../data/cdevGlobalTagTable.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevGlobalTagTable.cc -o $@

$(OBJTYPE)/cdevIntHash.o: ../data/cdevIntHash.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevIntHash.cc -o $@

$(OBJTYPE)/cdevStrHash.o: ../data/cdevStrHash.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevStrHash.cc -o $@

$(OBJTYPE)/cdevSlist.o: ../data/cdevSlist.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cdevSlist.cc -o $@

$(OBJTYPE)/cmlog_cdevMessage.o: ../data/cmlog_cdevMessage.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cmlog_cdevMessage.cc -o $@

$(OBJTYPE)/cmlog_cdevPacket1.o: ../data/cmlog_cdevPacket1.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cmlog_cdevPacket1.cc -o $@

$(OBJTYPE)/cmlog_cdevTagMap.o: ../data/cmlog_cdevTagMap.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../data/cmlog_cdevTagMap.cc -o $@

$(OBJTYPE)/cmlogMsg.o: ../Common/cmlogMsg.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogMsg.cc -o $@	

$(OBJTYPE)/cmlogUtil.o: ../Common/cmlogUtil.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogUtil.cc -o $@	

$(OBJTYPE)/cmlogSlist.o: ../Common/cmlogSlist.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogSlist.cc -o $@


$(OBJTYPE)/cmlogDataCache.o: ../Common/cmlogDataCache.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogDataCache.cc -o $@

$(OBJTYPE)/cmlogCxtDataCache.o: ../Common/cmlogCxtDataCache.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogCxtDataCache.cc -o $@

$(OBJTYPE)/cmlogStrHash.o: ../Common/cmlogStrHash.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogStrHash.cc -o $@

$(OBJTYPE)/cmlogIntHash.o: ../Common/cmlogIntHash.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogIntHash.cc -o $@

$(OBJTYPE)/cmlogDataQueue.o: ../Common/cmlogDataQueue.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogDataQueue.cc -o $@

$(OBJTYPE)/cmlogSvcLocaterRep.o: ../Common/cmlogSvcLocaterRep.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS)  -c ../Common/cmlogSvcLocaterRep.cc -o $@

$(OBJTYPE)/cmlogServerLocater.o: ../Common/cmlogServerLocater.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogServerLocater.cc -o $@

$(OBJTYPE)/cmlogData.o: ../Common/cmlogData.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogData.cc -o $@

$(OBJTYPE)/cmlogDataManager.o: ../Common/cmlogDataManager.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogDataManager.cc -o $@

$(OBJTYPE)/cmlogTagTblData.o: ../Common/cmlogTagTblData.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogTagTblData.cc -o $@

$(OBJTYPE)/cmlogUptimeData.o: ../Common/cmlogUptimeData.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Common/cmlogUptimeData.cc -o $@

$(OBJTYPE)/cmlogIO.o: ../Network/cmlogIO.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogIO.cc -o $@	

$(OBJTYPE)/cmlogClientIO.o: ../Network/cmlogClientIO.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogClientIO.cc -o $@	

$(OBJTYPE)/cmlogBrowserIO.o: ../Network/cmlogBrowserIO.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogBrowserIO.cc -o $@


$(OBJTYPE)/cmlogAdminIO.o: ../Network/cmlogAdminIO.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogAdminIO.cc -o $@

$(OBJTYPE)/cmlogAcceptor.o: ../Network/cmlogAcceptor.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogAcceptor.cc -o $@

$(OBJTYPE)/cmlogClientAcceptor.o: ../Network/cmlogClientAcceptor.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogClientAcceptor.cc -o $@

$(OBJTYPE)/cmlogBrowserAcceptor.o: ../Network/cmlogBrowserAcceptor.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogBrowserAcceptor.cc -o $@

$(OBJTYPE)/cmlogAdminAcceptor.o: ../Network/cmlogAdminAcceptor.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogAdminAcceptor.cc -o $@


$(OBJTYPE)/cmlogPortHandler.o: ../Network/cmlogPortHandler.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogPortHandler.cc -o $@


$(OBJTYPE)/cmlogResNotification.o: ../Network/cmlogResNotification.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogResNotification.cc -o $@

$(OBJTYPE)/cmlogDbaseHandler.o: ../Network/cmlogDbaseHandler.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogDbaseHandler.cc -o $@

$(OBJTYPE)/cmlogClntCxt.o: ../Network/cmlogClntCxt.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../Network/cmlogClntCxt.cc -o $@

$(OBJTYPE)/cmlogDatabase.o: ../database/cmlogDatabase.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c ../database/cmlogDatabase.cc -o $@

$(OBJTYPE)/cmlogDbaseCheck.o: cmlogDbaseCheck.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c cmlogDbaseCheck.cc -o $@

$(OBJTYPE)/cmlogServer.o: cmlogServer.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c $< -o $@


y.tab.c: cmlog_logic.y
	rm -f $@
	$(YACC) -d cmlog_logic.y

lex.yy.c: cmlog_logic.l
	$(LEX) cmlog_logic.l

$(OBJTYPE)/y.tab.o: y.tab.c
	rm -f $@
	$(CC) $(CFLAGS) $(XTRACFLAGS) -c $< -o $@

$(OBJTYPE)/lex.yy.o: lex.yy.c
	rm -f $@
	$(CC) $(CFLAGS) $(XTRACFLAGS) -c $< -o $@


$(OBJTYPE)/cmlogLogicSup.o: cmlogLogicSup.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c $< -o $@
