blob: 6e3e3db94c4baa7e27405b0d533cc775e90b4f9e [file] [log] [blame]
#**************************************************************
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#**************************************************************
PRJ=..$/..
PRJNAME=sal
TARGET=cpprtl
ENABLE_EXCEPTIONS=TRUE
USE_LDUMP2=TRUE
PROJECTPCH4DLL=TRUE
PROJECTPCH=cont_pch
PROJECTPCHSOURCE=cont_pch
.IF "$(GUI)" == "OS2"
STL_OS2_BUILDING=1
.ENDIF
TARGETTYPE=CUI
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
.IF "$(VALGRIND_CFLAGS)" != ""
CFLAGS += $(VALGRIND_CFLAGS)
CDEFS += -DHAVE_MEMCHECK_H=1
.ENDIF # VALGRIND_CFLAGS
.IF "$(ALLOC)" == "SYS_ALLOC" || "$(ALLOC)" == "TCMALLOC" || "$(ALLOC)" == "JEMALLOC"
CDEFS+= -DFORCE_SYSALLOC
.ENDIF
CFLAGS+= $(LFS_CFLAGS)
CXXFLAGS+= $(LFS_CFLAGS)
# --- Files --------------------------------------------------------
# safe that way: gen_makefile doesn't want it,
# no other link target here
UWINAPILIB:=
.IF "$(header)" == ""
ALWAYSDBGFILES=$(SLO)$/debugprint.obj
.IF "$(ALWAYSDBGFILES)" != ""
ALWAYSDBGTARGET=do_it_alwaysdebug
.ENDIF
SLOFILES= \
$(SLO)$/memory.obj \
$(SLO)$/cipher.obj \
$(SLO)$/crc.obj \
$(SLO)$/digest.obj \
$(SLO)$/random.obj \
$(SLO)$/locale.obj \
$(SLO)$/strimp.obj \
$(SLO)$/hash.obj \
$(SLO)$/string.obj \
$(SLO)$/ustring.obj \
$(SLO)$/strbuf.obj \
$(SLO)$/ustrbuf.obj \
$(SLO)$/uuid.obj \
$(SLO)$/rtl_process.obj \
$(SLO)$/byteseq.obj \
$(SLO)$/uri.obj \
$(SLO)$/bootstrap.obj \
$(SLO)$/cmdargs.obj \
$(SLO)$/unload.obj \
$(SLO)$/logfile.obj \
$(SLO)$/tres.obj \
$(SLO)$/debugprint.obj \
$(SLO)$/math.obj \
$(SLO)$/alloc_global.obj\
$(SLO)$/alloc_cache.obj \
$(SLO)$/alloc_arena.obj
.IF "$(OS)"=="MACOSX"
SLOFILES+=$(SLO)$/alloc_fini.obj
.ENDIF
#.IF "$(UPDATER)"=="YES"
OBJFILES= \
$(OBJ)$/memory.obj \
$(OBJ)$/cipher.obj \
$(OBJ)$/crc.obj \
$(OBJ)$/digest.obj \
$(OBJ)$/random.obj \
$(OBJ)$/locale.obj \
$(OBJ)$/strimp.obj \
$(OBJ)$/hash.obj \
$(OBJ)$/string.obj \
$(OBJ)$/ustring.obj \
$(OBJ)$/strbuf.obj \
$(OBJ)$/ustrbuf.obj \
$(OBJ)$/uuid.obj \
$(OBJ)$/rtl_process.obj \
$(OBJ)$/byteseq.obj \
$(OBJ)$/uri.obj \
$(OBJ)$/bootstrap.obj \
$(OBJ)$/cmdargs.obj \
$(OBJ)$/unload.obj \
$(OBJ)$/logfile.obj \
$(OBJ)$/tres.obj \
$(OBJ)$/math.obj \
$(OBJ)$/alloc_global.obj\
$(OBJ)$/alloc_cache.obj \
$(OBJ)$/alloc_arena.obj
.IF "$(OS)"=="MACOSX"
OBJFILES+=$(OBJ)$/alloc_fini.obj
.ENDIF
APP1TARGET=gen_makefile
APP1OBJS=$(SLO)$/gen_makefile.obj
APP1LIBSALCPPRT=
APP1RPATH=NONE
# --- Extra objs ----------------------------------------------------
.IF "$(OS)"=="LINUX" || "$(OS)"=="OS2"
#
# This part builds a second version of alloc.c, with
# FORCE_SYSALLOC defined. Is later used in util/makefile.mk
# to build a tiny replacement lib to LD_PRELOAD into the
# office, enabling e.g. proper valgrinding.
#
SECOND_BUILD=SYSALLOC
SYSALLOC_SLOFILES= $(SLO)$/alloc_global.obj
SYSALLOCCDEFS+=-DFORCE_SYSALLOC
.ENDIF # .IF "$(OS)"=="LINUX"
#.ENDIF
.ENDIF
# --- Makefile snippet --------------------------------------------
# used by e.g. update info file
BOOTSTRAPMK = $(OUT)$/inc$/rtlbootstrap.mk
# --- Targets ------------------------------------------------------
.IF "$(ALWAYSDBG_FLAG)"==""
TARGETDEPS+=$(ALWAYSDBGTARGET)
.ENDIF
.INCLUDE : target.mk
.IF "$(ALWAYSDBGTARGET)" != ""
.IF "$(ALWAYSDBG_FLAG)" == ""
# --------------------------------------------------
# - ALWAYSDBG - files always compiled with debugging
# --------------------------------------------------
$(ALWAYSDBGTARGET):
@echo --- ALWAYSDBGFILES ---
@dmake $(MFLAGS) $(MAKEFILE) debug=true $(ALWAYSDBGFILES) ALWAYSDBG_FLAG=TRUE $(CALLMACROS)
@echo --- ALWAYSDBGFILES OVER ---
$(ALWAYSDBGFILES):
@echo --- ALWAYSDBG ---
@dmake $(MFLAGS) $(MAKEFILE) debug=true ALWAYSDBG_FLAG=TRUE $(CALLMACROS) $@
@echo --- ALWAYSDBG OVER ---
.ENDIF
.ENDIF
ALLTAR : $(BOOTSTRAPMK)
$(BOOTSTRAPMK) : $(APP1TARGETN)
$(AUGMENT_LIBRARY_PATH) $< > $@