Files
secondo/makefile.options

110 lines
3.7 KiB
Plaintext
Raw Permalink Normal View History

2026-01-23 17:03:45 +08:00
# 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