Files
secondo/makefile.libs
2026-01-23 17:03:45 +08:00

149 lines
4.3 KiB
Plaintext

#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
#
# makefile.libs contains rules for creating
# libraries used by secondo
#
# 07.11.2003 M. Spiekermann
include ./makefile.env
# The code of the tools below should be indipendent
# of any other Secondo-related code such as the query processor,
# storage manager, nested lists, etc. It should be useable for
# any other kind of program.
#libsdbutils
LIB_SDBUTILS_BASENAMES:=\
Tools/Utilities/Processes \
Tools/Utilities/Application \
Tools/Utilities/Messenger \
Tools/Utilities/DynamicLibrary \
Tools/Utilities/FileSystem \
Tools/Utilities/Profiles \
Tools/Utilities/UtilFunctions \
Tools/Utilities/satof \
Tools/Utilities/WinUnix \
Tools/Utilities/Base64 \
Tools/Utilities/PolySolver \
Tools/Utilities/Environment \
Tools/Utilities/Crypt \
Tools/Utilities/blowfish \
Tools/Utilities/md5 \
Tools/Utilities/Trace \
Tools/Utilities/StringUtils \
Tools/Flob/FlobManager \
Tools/Flob/PersistentFlobCache \
Tools/Flob/ExternalFileCache \
Tools/Utilities/AlmostEqual \
UserInterfaces/getCommand
# The following libraries have interdependencies to Nested lists
# and Berkeley-DB thus they are only usable in the framework of
# the Secondo applications. For example the Nestedlist module uses
# SMI-Records for implementing a persistent representation.
#libSDBNL
LIB_SDBNL_BASENAMES:=\
Tools/NestedLists/NestedList \
Tools/NestedLists/NList \
Tools/NestedLists/ListUtils \
Tools/NestedLists/NLLex \
Tools/NestedLists/NLScanner \
Tools/NestedLists/NLParser \
Tools/NestedLists/NLParser.tab \
Tools/Parser/SecLex \
Tools/Parser/SecParser \
Tools/Parser/SecParser.tab \
Tools/Parser/SpecParser/NestedText
#libsdbsocket
LIB_SDBSOCKET_BASENAMES:=\
ClientServer/SocketIO \
ClientServer/SocketAddress \
ClientServer/SocketRuleSet
#libsdbsys
LIB_SDBSYS_BASENAMES:=\
Algebras/Management/Algebra \
Algebras/Management/AlgebraManager \
QueryProcessor/QueryProcessor \
QueryProcessor/Progress \
QueryProcessor/SecondoSystem \
QueryProcessor/SecondoCatalog \
QueryProcessor/TypeMapUtils \
QueryProcessor/MemoryObject \
QueryProcessor/MemCatalog
LIB_SDBNL_OBJECTS := $(addsuffix .$(OBJEXT), $(LIB_SDBNL_BASENAMES))
LIB_SDBUTILS_OBJECTS := $(addsuffix .$(OBJEXT), $(LIB_SDBUTILS_BASENAMES))
LIB_SDBSOCKET_OBJECTS := $(addsuffix .$(OBJEXT), $(LIB_SDBSOCKET_BASENAMES))
LIB_SDBSYS_OBJECTS := $(addsuffix .$(OBJEXT), $(LIB_SDBSYS_BASENAMES))
ALL_LIB_OBJS := $(LIBDIR)/libsdbnl.$(LIBEXT) \
$(LIBDIR)/libsdbutils.$(LIBEXT) \
$(LIBDIR)/libsdbsys.$(LIBEXT) \
$(LIBDIR)/libsdbsocket.$(LIBEXT)
.PHONY: all
all: $(LIBDIR)/libsdbnl.$(LIBEXT) $(LIBDIR)/libsdbutils.$(LIBEXT) buildsmilibs $(LIBDIR)/libsdbsys.$(LIBEXT) $(LIBDIR)/libsdbsocket.$(LIBEXT)
.PHONY: buildsmilibs
buildsmilibs:
$(MAKE) -C StorageManager buildlibs
# --- Secondo Database Tools library ---
# Windows needs special treatment for dynamic libraries!
# The variable LIBNAME will be used in the LDOPTTOOL variable
# which is only defined makefile.win32 included by makefile.env.
$(LIBDIR)/libsdbnl.$(LIBEXT): LIBNAME=libsdbnl
$(LIBDIR)/libsdbnl.$(LIBEXT): $(LIB_SDBNL_OBJECTS)
$(create-lib)
# --- Secondo Database Utilities Library ---
LIBNAME=libsdbutils
$(LIBDIR)/libsdbutils.$(LIBEXT): $(LIB_SDBUTILS_OBJECTS)
$(create-lib)
# --- Secondo Database System Library ---
$(LIBDIR)/libsdbsys.$(LIBEXT): LIBNAME=libsdbsys
$(LIBDIR)/libsdbsys.$(LIBEXT): $(LIB_SDBSYS_OBJECTS)
$(create-lib)
# --- Secondo Database Socket Library ---
$(LIBDIR)/libsdbsocket.$(LIBEXT): LIBNAME=libsdbsocket
$(LIBDIR)/libsdbsocket.$(LIBEXT): $(LIB_SDBSOCKET_OBJECTS)
$(create-lib)
.PHONY: clean
clean:
$(RM) -f $(ALL_LIB_OBJS)