110 lines
3.7 KiB
Plaintext
110 lines
3.7 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
|
||
|
|
#
|
||
|
|
# Configuration file for some important compiler switches
|
||
|
|
#
|
||
|
|
# April 2006, M. Spiekermann
|
||
|
|
#
|
||
|
|
|
||
|
|
# Uncomment next line to compile with debugging information:
|
||
|
|
DEBUG = -ggdb
|
||
|
|
|
||
|
|
# The next flag instructs the preprocessor to report the hierachy
|
||
|
|
# of include instructions.
|
||
|
|
#DEBUG += -Wp, -H
|
||
|
|
|
||
|
|
# Note: The flags below print out all defined symbols the preprocessor knows
|
||
|
|
# gcc -dM -E <file>
|
||
|
|
|
||
|
|
# Uncomment one of the next lines to compile with code optimizations.
|
||
|
|
#OPTIMIZE = -O1 -finline-functions -fearly-inlining -finline-limit=1800 -funit-at-a-time --param inline-unit-growth=300
|
||
|
|
|
||
|
|
# Use more optimizations
|
||
|
|
#OPTIMIZE += -O2 -finline-functions -mcpu=athlon-xp
|
||
|
|
|
||
|
|
# Use even more optimization
|
||
|
|
#OPTIMIZE += -O3 -march=native
|
||
|
|
#OPTIMIZE += -O3
|
||
|
|
|
||
|
|
# Do not use assertions.
|
||
|
|
# Assertions may
|
||
|
|
# only check logical constraints without doing any program
|
||
|
|
# logic! NEVER use functions having side-effects within an assert(...)!
|
||
|
|
#OPTIMIZE += -DNDEBUG
|
||
|
|
|
||
|
|
# Uncomment next lines to generate profiling data used by gprof
|
||
|
|
# Run make realclean; make
|
||
|
|
#DEBUG += -pg
|
||
|
|
#LDFLAGS += -pg
|
||
|
|
|
||
|
|
# Set up default flags for the compiler
|
||
|
|
DEFAULTCCFLAGS += $(DEBUG) $(OPTIMIZE) $(TEMPLATEFLAGS) -I. -I$(INCLUDEDIR)
|
||
|
|
|
||
|
|
# Compiler sanitizer (as an alternative to valgrind)
|
||
|
|
#DEFAULTCCFLAGS += -fsanitize=address
|
||
|
|
#DEFAULTCCFLAGS += -fsanitize=undefined
|
||
|
|
#DEFAULTCCFLAGS += -fsanitize=nullability
|
||
|
|
#DEFAULTCCFLAGS += -fno-omit-frame-pointer
|
||
|
|
#LDFLAGS += -fsanitize=address
|
||
|
|
#LDFLAGS += -fsanitize=undefined
|
||
|
|
#LDFLAGS += -fsanitize=nullability
|
||
|
|
#LDFLAGS += -fno-omit-frame-pointer
|
||
|
|
|
||
|
|
# Show all warnings
|
||
|
|
DEFAULTCCFLAGS += -Wall
|
||
|
|
# -pedantic -Wunreachable-code -Wunknown-pragmas -Wshadow -Wformat=2 -Wundef -Wbad-function-cast -Wcast-qual -Wsign-compare -fbounds-check -fstack-check -fcheck-new
|
||
|
|
|
||
|
|
# Define some macros which define optional behaviour in some
|
||
|
|
# libraries
|
||
|
|
DEFAULTCCFLAGS += -D_REENTRANT
|
||
|
|
|
||
|
|
CPPSTDOPTION = -std=c++17
|
||
|
|
|
||
|
|
|
||
|
|
#On 32 bit systems, the file size is restrictec to 2GB
|
||
|
|
#when handling huge data sets, this may be not sufficient
|
||
|
|
#thereby we set the file system to support much larger files
|
||
|
|
DEFAULTCCFLAGS += -D_FILE_OFFSET_BITS=64
|
||
|
|
|
||
|
|
|
||
|
|
# Flag for a persistent implementation of class NestedList. Remove the comment
|
||
|
|
# in the line below to use temporary Berkeley-DB record files instead of main
|
||
|
|
# memory. This is needed if you want to restore large objects.
|
||
|
|
DEFAULTCCFLAGS += -DNL_PERSISTENT
|
||
|
|
|
||
|
|
|
||
|
|
# Flag for compiling code of operator value mappings which supports progress measurement.
|
||
|
|
DEFAULTCCFLAGS += -DUSE_PROGRESS
|
||
|
|
|
||
|
|
|
||
|
|
# Flag for compiling code which uses serialization instead of copying class instances
|
||
|
|
# on block. After changing this flag you need to do a make clean, rebuild secondo, and
|
||
|
|
# restore your databases!
|
||
|
|
#
|
||
|
|
DEFAULTCCFLAGS += -DUSE_SERIALIZATION
|
||
|
|
|
||
|
|
# The next flag activates trace messages. Alternatively you may define it
|
||
|
|
# only in some subordinated makefiles to avoid to many messages.
|
||
|
|
#DEFAULTCCFLAGS += -DTRACE_ON
|
||
|
|
|
||
|
|
INC_FILES := $(shell ls $(SECONDO_BUILD_DIR)/makefile.n*c 2>/dev/null)
|
||
|
|
ifdef INC_FILES
|
||
|
|
include $(INC_FILES)
|
||
|
|
endif
|