mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 22:43:03 +01:00
162 lines
4.7 KiB
Plaintext
162 lines
4.7 KiB
Plaintext
#
|
|
# The contents of this file are subject to the Mozilla Public
|
|
# License Version 1.1 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.mozilla.org/MPL/
|
|
# Alternatively, the contents of this file may be used under the
|
|
# terms of the GNU General Public License Version 2 or later (the
|
|
# "GPL"), in which case the provisions of the GPL are applicable
|
|
# instead of those above. You may obtain a copy of the Licence at
|
|
# http://www.gnu.org/copyleft/gpl.html
|
|
#
|
|
# This program 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
|
|
# Relevant for more details.
|
|
#
|
|
# This file was created by members of the firebird development team.
|
|
# All individual contributions remain the Copyright (C) of those
|
|
# individuals. Contributors to this file are either listed here or
|
|
# can be obtained from a CVS history command.
|
|
#
|
|
# All rights reserved.
|
|
#
|
|
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
|
|
#
|
|
# Contributor(s):
|
|
#
|
|
#
|
|
#
|
|
|
|
#____________________________________________________________________________
|
|
|
|
|
|
# Please don't use compiler/platform specific flags here - nmcc 02-Nov-2002
|
|
WFLAGS =-I$(SRC_ROOT)/include/gen -I$(SRC_ROOT)/include $(CPPFLAGS) $(LTCSOURCE)
|
|
|
|
ifneq ($(SYSTEM_BOOST_FLG),Y)
|
|
WFLAGS += -I$(ROOT)/extern/boost
|
|
endif
|
|
|
|
WFLAGS += -I$(LIBCDS_INC) -D$(LIBCDS_DEF)
|
|
|
|
ifeq ($(TOMMATH_BUILD_FLG),Y)
|
|
WFLAGS += -I$(TOMMATH_INC)
|
|
endif
|
|
|
|
ifeq ($(TOMCRYPT_BUILD_FLG),Y)
|
|
WFLAGS += -I$(TOMCRYPT_INC)
|
|
endif
|
|
|
|
ifeq ($(RE2_BUILD_FLG),Y)
|
|
WFLAGS += -I$(ROOT)/extern/re2
|
|
endif
|
|
|
|
ifeq ($(ABSEIL_BUILD_FLG),Y)
|
|
WFLAGS += -I$(ROOT)/extern/int128
|
|
endif
|
|
|
|
ifeq ($(LSB_FLG),Y)
|
|
WFLAGS += -DLSB_BUILD
|
|
endif
|
|
|
|
ifeq ($(TARGET),Release)
|
|
WFLAGS += $(PROD_FLAGS)
|
|
else
|
|
WFLAGS += $(DEV_FLAGS) -DDEV_BUILD
|
|
endif
|
|
|
|
WCFLAGS = $(WFLAGS) $(CFLAGS) $(AC_CFLAGS) $(GLOB_OPTIONS)
|
|
WCXXFLAGS = $(WFLAGS) $(PLUSPLUS_FLAGS) $(PLATFORM_PLUSPLUS_FLAGS) $(CXXFLAGS) $(AC_CXXFLAGS) $(GLOB_OPTIONS)
|
|
WLDFLAGS = $(LDFLAGS) $(AC_LDFLAGS)
|
|
|
|
ifneq ($(PLATFORM),DARWIN)
|
|
WLDFLAGS += -static-libstdc++
|
|
endif
|
|
|
|
# Here we have definitions for using the preprocessor.
|
|
|
|
# The GPRE_FLAGS is overwritten in Makefile.in.jrd Makefile.in.gpre and
|
|
# since they do something extra to allow the boot build to work.
|
|
#
|
|
# One other point is that sometimes a failure in compile with gpre does not
|
|
# result in an error being generated. The generated source file still
|
|
# compiles and throws the make off the path.
|
|
#
|
|
# This bit of code is part of unfinished bit to let make determine if
|
|
# gpre gpre_static or gpre_boot should be used based on which ones exist.
|
|
#
|
|
# testgpre = $(shell if [ -f $(GPRE) ]; then; echo $(GPRE); else; echo ""; fi)
|
|
#test1:
|
|
# $(ECHO) $(testgpre)
|
|
|
|
|
|
GPRE_FLAGS= -m -z -n
|
|
JRD_GPRE_FLAGS = -n -z -gds_cxx -ids
|
|
OBJECT_GPRE_FLAGS = -m -z -n -ocxx
|
|
|
|
|
|
.SUFFIXES: .c .e .epp .cpp
|
|
|
|
.e.c:
|
|
$(GPRE_CURRENT) $(GPRE_FLAGS) $< $@
|
|
|
|
|
|
$(OBJ)/jrd/%.cpp: $(SRC_ROOT)/jrd/%.epp
|
|
$(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $(firstword $<) $@
|
|
|
|
$(OBJ)/isql/%.cpp: $(SRC_ROOT)/isql/%.epp
|
|
$(GPRE_CURRENT) $(OBJECT_GPRE_FLAGS) $< $@
|
|
|
|
$(OBJ)/burp/%.cpp: $(SRC_ROOT)/burp/%.epp
|
|
$(GPRE_CURRENT) $(OBJECT_GPRE_FLAGS) $< $@
|
|
|
|
$(OBJ)/%.cpp: $(SRC_ROOT)/%.epp
|
|
$(GPRE_CURRENT) $(GPRE_FLAGS) $(firstword $<) $@
|
|
|
|
|
|
.SUFFIXES: .lo .o .cpp .c .cc
|
|
|
|
%.o: %.c
|
|
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
|
|
|
|
%.o: %.cc
|
|
$(CXX) $(WCFLAGS) -c $(firstword $<) -o $@
|
|
|
|
$(OBJ)/%.o: $(SRC_ROOT)/%.c
|
|
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
|
|
@sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
|
|
|
|
$(OBJ)/%.o: $(SRC_ROOT)/%.m
|
|
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
|
|
@sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
|
|
|
|
$(OBJ)/%.o: $(OBJ)/%.cpp
|
|
$(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@
|
|
@sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
|
|
|
|
$(OBJ)/%.o: $(SRC_ROOT)/%.cpp
|
|
$(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@
|
|
@sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
|
|
|
|
$(OBJ)/%.o: $(ROOT)/%.cpp
|
|
$(CXX) $(WCFLAGS) -c $(firstword $<) -o $@
|
|
@sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
|
|
|
|
.SUFFIXES: .epp .e
|
|
|
|
# Rules for making resource files
|
|
|
|
$(GEN_ROOT)/%.res: $(SRC_ROOT)/%.rc
|
|
windres --output-format=coff --include-dir=$(<D) $< $@
|
|
|
|
# Rule for making gbak files when cross-compiling
|
|
|
|
.SUFFIXES: .gbak .fdb
|
|
|
|
$(GEN_ROOT)/$(TARGET)/%.gbak: $(GEN_ROOT)/Native/%.fdb
|
|
$(RUN_GBAK) -b $(firstword $<) $(firstword $@)
|
|
|
|
$(GEN_ROOT)/%.gbak: $(GEN_ROOT)/%.fdb
|
|
$(RUN_GBAK) -b $(firstword $<) $(firstword $@)
|