Files
secondo/Algebras/ContinuousQueries/makefile
2026-01-23 17:03:45 +08:00

81 lines
2.8 KiB
Makefile

#This file is part of SECONDO.
#Copyright (C) 2004, University in Hagen, Department of Computer Science,
#Database Systems for New Applications.
#SECONDO is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#SECONDO is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with SECONDO; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
########################################################################
#
# generic makefile for an algebra module
#
########################################################################
# inlcude global definitions
include ../../makefile.env
# CollectionAlgebra RecordAlgebra RelationAlgebra DBServiceAlgebra Distributed2Algebra
CURRENT_ALGEBRA := ContinuousQueriesAlgebra
ALGEBRA_DEPENDENCIES := StandardAlgebra
ALGEBRA_DEPENDENCIES += RelationAlgebra
ALGEBRA_DEPENDENCIES += MailAlgebra
# expand compile flags if necessary
CCFLAGS += $(ALG_INC_DIRS)
CCFLAGS +=
# add aditional folders
TCPDEP = $(patsubst %.cpp, %.dep, $(wildcard Tcp/*.cpp))
TCPOBJECTS = $(patsubst %.dep, %.$(OBJEXT), $(TCPDEP))
GENERICDEP = $(patsubst %.cpp, %.dep, $(wildcard Generic/*.cpp))
GENERICOBJECTS = $(patsubst %.dep, %.$(OBJEXT), $(GENERICDEP))
LOOPSTRATEGYDEP = $(patsubst %.cpp, %.dep, $(wildcard LoopStrategy/*.cpp))
LOOPSTRATEGYOBJECTS = $(patsubst %.dep, %.$(OBJEXT), $(LOOPSTRATEGYDEP))
JOINSTRATEGYDEP = $(patsubst %.cpp, %.dep, $(wildcard JoinStrategy/*.cpp))
JOINSTRATEGYOBJECTS = $(patsubst %.dep, %.$(OBJEXT), $(JOINSTRATEGYDEP))
# create objects and algebra library. The values for the variables
# OBJECTS and LIBOBJ are computed automatically by makefile.env
.PHONY: all
all: check_dependencies $(TCPOBJECTS) $(GENERICOBJECTS) $(LOOPSTRATEGYOBJECTS) $(JOINSTRATEGYOBJECTS) $(OBJECTS) $(LIBOBJ)
check_dependencies:
$(check-algebra-dependencies)
# include pre-computed dependencies
ifneq ($(MAKECMDGOALS),clean)
-include $(DEP_FILES)
endif
.PHONY: deps
deps: $(DEP_FILES)
# generic rule for creating a library
$(LIBOBJ): $(OBJECTS) $(TCPOBJECTS) $(GENERICOBJECTS) $(LOOPSTRATEGYOBJECTS) $(JOINSTRATEGYOBJECTS)
$(create-lib)
# generic rule for cleaning all generated files
.PHONY: clean
clean:
$(RM) $(TCPOBJECTS) $(TCPDEP)
$(RM) $(GENERICOBJECTS) $(GENERICDEP)
$(RM) $(LOOPSTRATEGYOBJECTS) $(JOINSTRATEGYDEP)
$(RM) $(JOINSTRATEGYOBJECTS) $(LOOPSTRATEGYDEP)
$(clean-algebra)