#************************************************************** # # 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) $< > $@