#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)