Changeset 3403 for trunk/kBuild
- Timestamp:
- Jul 6, 2020, 11:29:45 AM (5 years ago)
- Location:
- trunk/kBuild/tools
- Files:
-
- 1 added
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/CLANGCCMACHO.kmk
r3401 r3403 1 1 # $Id$ 2 2 ## @file 3 # kBuild Tool Config - LLVM GCC v4.2.x targeting Darwin (Mac OS X) Mach-O, for building C++code.4 # 5 6 # 7 # Copyright (c) 2004-20 17knut st. osmundsen <bird-kBuild-spam-xviiv@anduin.net>3 # kBuild Tool Config - LLVM Clang targeting Darwin (Mac OS X) Mach-O, for building C code. 4 # 5 6 # 7 # Copyright (c) 2004-2020 knut st. osmundsen <bird-kBuild-spam-xviiv@anduin.net> 8 8 # 9 9 # This file is part of kBuild. … … 36 36 endif 37 37 38 TOOL_CLANG XXMACHO := LLVM Clang targeting Darwin (Mac OS X) Mach-O, for building C++code.38 TOOL_CLANGCCMACHO := LLVM Clang targeting Darwin (Mac OS X) Mach-O, for building C code. 39 39 40 40 # Tool Specific Properties 41 41 # PREFIX/SUFFIX: clang; PREFIX2/SUFFIX2: cctool; 42 ifndef PATH_TOOL_CLANG XXMACHO43 PATH_TOOL_CLANG XXMACHO := $(substr $(firstfile $(foreachfile toolchaindir, $(DARWINCMN_TOOLCHAIN_DIRS) \42 ifndef PATH_TOOL_CLANGCCMACHO 43 PATH_TOOL_CLANGCCMACHO := $(substr $(firstfile $(foreachfile toolchaindir, $(DARWINCMN_TOOLCHAIN_DIRS) \ 44 44 , $(qwildcard ,$(toolchaindir)/usr/bin/clang++))), 1, -12) 45 45 else 46 PATH_TOOL_CLANG XXMACHO := $(PATH_TOOL_CLANGXXMACHO)47 endif 48 ifndef TOOL_CLANG XXMACHO_PREFIX49 ifdef PATH_TOOL_CLANG XXMACHO50 TOOL_CLANG XXMACHO_PREFIX := $(PATH_TOOL_CLANGXXMACHO)/bin/46 PATH_TOOL_CLANGCCMACHO := $(PATH_TOOL_CLANGCCMACHO) 47 endif 48 ifndef TOOL_CLANGCCMACHO_PREFIX 49 ifdef PATH_TOOL_CLANGCCMACHO 50 TOOL_CLANGCCMACHO_PREFIX := $(PATH_TOOL_CLANGCCMACHO)/bin/ 51 51 else 52 TOOL_CLANG XXMACHO_PREFIX :=52 TOOL_CLANGCCMACHO_PREFIX := 53 53 endif 54 54 endif 55 ifndef TOOL_CLANG XXMACHO_SUFFIX56 TOOL_CLANG XXMACHO_SUFFIX := $(HOSTSUFF_EXE)57 endif 58 TOOL_CLANG XXMACHO_PREFIX2 ?= $(TOOL_CLANGXXMACHO_PREFIX)59 TOOL_CLANG XXMACHO_SUFFIX2 ?= $(TOOL_CLANGXXMACHO_SUFFIX)60 TOOL_CLANG XXMACHO_CC ?= $(TOOL_CLANGXXMACHO_PREFIX)clang$(TOOL_CLANGXXMACHO_SUFFIX)61 TOOL_CLANG XXMACHO_CXX ?= $(TOOL_CLANGXXMACHO_PREFIX)clang++$(TOOL_CLANGXXMACHO_SUFFIX)62 TOOL_CLANG XXMACHO_PCH ?= $(TOOL_CLANGXXMACHO_CXX)63 TOOL_CLANG XXMACHO_OBJC ?= $(TOOL_CLANGXXMACHO_PREFIX)clang$(TOOL_CLANGXXMACHO_SUFFIX)64 TOOL_CLANG XXMACHO_OBJCXX ?= $(TOOL_CLANGXXMACHO_PREFIX)clang$(TOOL_CLANGXXMACHO_SUFFIX)65 TOOL_CLANG XXMACHO_AS ?= $(TOOL_CLANGXXMACHO_PREFIX)clang$(TOOL_CLANGXXMACHO_SUFFIX)66 TOOL_CLANG XXMACHO_LD ?= $(TOOL_CLANGXXMACHO_PREFIX)clang++$(TOOL_CLANGXXMACHO_SUFFIX)67 TOOL_CLANG XXMACHO_LD_SYSMOD ?= $(TOOL_CLANGXXMACHO_PREFIX)clang++$(TOOL_CLANGXXMACHO_SUFFIX)68 TOOL_CLANG XXMACHO_LDFLAGS.dll ?= -dynamiclib69 TOOL_CLANG XXMACHO_LDFLAGS.sysmod ?= -r70 #TOOL_CLANG XXMACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))71 TOOL_CLANG XXMACHO_DSYMUTIL ?= $(TOOL_CLANGXXMACHO_PREFIX)dsymutil$(TOOL_CLANGXXMACHO_SUFFIX)72 73 TOOL_CLANG XXMACHO_AR ?= $(TOOL_CLANGXXMACHO_PREFIX2)ar$(TOOL_CLANGXXMACHO_SUFFIX2)74 TOOL_CLANG XXMACHO_STRIP ?= $(TOOL_CLANGXXMACHO_PREFIX2)strip$(TOOL_CLANGXXMACHO_SUFFIX2)75 TOOL_CLANG XXMACHO_STRIP_PROGRAM ?= $(TOOL_CLANGXXMACHO_STRIP) -SXxru76 TOOL_CLANG XXMACHO_STRIP_DLL ?= $(TOOL_CLANGXXMACHO_STRIP) -Sxru77 TOOL_CLANG XXMACHO_STRIP_SYSMOD ?= $(TOOL_CLANGXXMACHO_STRIP) -Sru55 ifndef TOOL_CLANGCCMACHO_SUFFIX 56 TOOL_CLANGCCMACHO_SUFFIX := $(HOSTSUFF_EXE) 57 endif 58 TOOL_CLANGCCMACHO_PREFIX2 ?= $(TOOL_CLANGCCMACHO_PREFIX) 59 TOOL_CLANGCCMACHO_SUFFIX2 ?= $(TOOL_CLANGCCMACHO_SUFFIX) 60 TOOL_CLANGCCMACHO_CC ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 61 TOOL_CLANGCCMACHO_CXX ?= $(TOOL_CLANGCCMACHO_PREFIX)clang++$(TOOL_CLANGCCMACHO_SUFFIX) 62 TOOL_CLANGCCMACHO_PCH ?= $(TOOL_CLANGCCMACHO_CXX) 63 TOOL_CLANGCCMACHO_OBJC ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 64 TOOL_CLANGCCMACHO_OBJCXX ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 65 TOOL_CLANGCCMACHO_AS ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 66 TOOL_CLANGCCMACHO_LD ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 67 TOOL_CLANGCCMACHO_LD_SYSMOD ?= $(TOOL_CLANGCCMACHO_PREFIX)clang$(TOOL_CLANGCCMACHO_SUFFIX) 68 TOOL_CLANGCCMACHO_LDFLAGS.dll ?= -dynamiclib 69 TOOL_CLANGCCMACHO_LDFLAGS.sysmod ?= -r 70 #TOOL_CLANGCCMACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) 71 TOOL_CLANGCCMACHO_DSYMUTIL ?= $(TOOL_CLANGCCMACHO_PREFIX)dsymutil$(TOOL_CLANGCCMACHO_SUFFIX) 72 73 TOOL_CLANGCCMACHO_AR ?= $(TOOL_CLANGCCMACHO_PREFIX2)ar$(TOOL_CLANGCCMACHO_SUFFIX2) 74 TOOL_CLANGCCMACHO_STRIP ?= $(TOOL_CLANGCCMACHO_PREFIX2)strip$(TOOL_CLANGCCMACHO_SUFFIX2) 75 TOOL_CLANGCCMACHO_STRIP_PROGRAM ?= $(TOOL_CLANGCCMACHO_STRIP) -SXxru 76 TOOL_CLANGCCMACHO_STRIP_DLL ?= $(TOOL_CLANGCCMACHO_STRIP) -Sxru 77 TOOL_CLANGCCMACHO_STRIP_SYSMOD ?= $(TOOL_CLANGCCMACHO_STRIP) -Sru 78 78 79 79 ifdef SLKRUNS 80 TOOL_CLANG XXMACHO_CC += -fmessage-length=081 TOOL_CLANG XXMACHO_CXX += -fmessage-length=082 TOOL_CLANG XXMACHO_OBJC += -fmessage-length=083 TOOL_CLANG XXMACHO_OBJCXX += -fmessage-length=080 TOOL_CLANGCCMACHO_CC += -fmessage-length=0 81 TOOL_CLANGCCMACHO_CXX += -fmessage-length=0 82 TOOL_CLANGCCMACHO_OBJC += -fmessage-length=0 83 TOOL_CLANGCCMACHO_OBJCXX += -fmessage-length=0 84 84 endif 85 85 86 86 # General Properties used by kBuild 87 TOOL_CLANG XXMACHO_COBJSUFF ?= .o88 TOOL_CLANG XXMACHO_CFLAGS ?=89 TOOL_CLANG XXMACHO_CFLAGS.debug ?= -g90 TOOL_CLANG XXMACHO_CFLAGS.profile ?= -O2 #-g -pg91 TOOL_CLANG XXMACHO_CFLAGS.release ?= -O292 TOOL_CLANG XXMACHO_CINCS ?=93 TOOL_CLANG XXMACHO_CDEFS ?=94 95 TOOL_CLANG XXMACHO_CXXOBJSUFF ?= .o96 TOOL_CLANG XXMACHO_CXXFLAGS ?=97 TOOL_CLANG XXMACHO_CXXFLAGS.debug ?= -g98 TOOL_CLANG XXMACHO_CXXFLAGS.profile ?= -O2 #-g -pg99 TOOL_CLANG XXMACHO_CXXFLAGS.release ?= -O2100 TOOL_CLANG XXMACHO_CXXINCS ?=101 TOOL_CLANG XXMACHO_CXXDEFS ?=102 103 TOOL_CLANG XXMACHO_PCHOBJSUFF ?= .h.gch104 TOOL_CLANG XXMACHO_PCHFLAGS ?= $(TOOL_CLANGXXMACHO_CXXFLAGS)105 TOOL_CLANG XXMACHO_PCHFLAGS.debug ?= $(TOOL_CLANGXXMACHO_CXXFLAGS.debug)106 TOOL_CLANG XXMACHO_PCHFLAGS.profile ?= $(TOOL_CLANGXXMACHO_CXXFLAGS.profile)107 TOOL_CLANG XXMACHO_PCHFLAGS.release ?= $(TOOL_CLANGXXMACHO_CXXFLAGS.release)108 TOOL_CLANG XXMACHO_PCHINCS ?= $(TOOL_CLANGXXMACHO_CXXINCS)109 TOOL_CLANG XXMACHO_PCHDEFS ?= $(TOOL_CLANGXXMACHO_CXXDEFS)110 111 TOOL_CLANG XXMACHO_OBJCOBJSUFF ?= .o112 TOOL_CLANG XXMACHO_OBJCFLAGS ?=113 TOOL_CLANG XXMACHO_OBJCFLAGS.debug ?= -g114 TOOL_CLANG XXMACHO_OBJCFLAGS.profile?= -O2 #-g -pg115 TOOL_CLANG XXMACHO_OBJCFLAGS.release?= -O2116 TOOL_CLANG XXMACHO_OBJCINCS ?=117 TOOL_CLANG XXMACHO_OBJCDEFS ?=118 119 TOOL_CLANG XXMACHO_OBJCXXOBJSUFF ?= .o120 TOOL_CLANG XXMACHO_OBJCXXFLAGS ?=121 TOOL_CLANG XXMACHO_OBJCXXFLAGS.debug ?= -g122 TOOL_CLANG XXMACHO_OBJCXXFLAGS.profile ?= -O2 #-g -pg123 TOOL_CLANG XXMACHO_OBJCXXFLAGS.release ?= -O2124 TOOL_CLANG XXMACHO_OBJCXXINCS ?=125 TOOL_CLANG XXMACHO_OBJCXXDEFS ?=126 127 TOOL_CLANG XXMACHO_ASFLAGS ?= -x assembler-with-cpp128 TOOL_CLANG XXMACHO_ASFLAGS.debug ?= -g129 TOOL_CLANG XXMACHO_ASFLAGS.profile ?= -g130 TOOL_CLANG XXMACHO_ASOBJSUFF ?= .o131 132 TOOL_CLANG XXMACHO_ARFLAGS ?= -c -rs133 TOOL_CLANG XXMACHO_ARLIBSUFF ?= .a134 135 TOOL_CLANG XXMACHO_LDFLAGS ?=136 TOOL_CLANG XXMACHO_LDFLAGS.debug ?= -g137 TOOL_CLANG XXMACHO_LDFLAGS.profile ?= -g87 TOOL_CLANGCCMACHO_COBJSUFF ?= .o 88 TOOL_CLANGCCMACHO_CFLAGS ?= 89 TOOL_CLANGCCMACHO_CFLAGS.debug ?= -g 90 TOOL_CLANGCCMACHO_CFLAGS.profile ?= -O2 #-g -pg 91 TOOL_CLANGCCMACHO_CFLAGS.release ?= -O2 92 TOOL_CLANGCCMACHO_CINCS ?= 93 TOOL_CLANGCCMACHO_CDEFS ?= 94 95 TOOL_CLANGCCMACHO_CXXOBJSUFF ?= .o 96 TOOL_CLANGCCMACHO_CXXFLAGS ?= 97 TOOL_CLANGCCMACHO_CXXFLAGS.debug ?= -g 98 TOOL_CLANGCCMACHO_CXXFLAGS.profile ?= -O2 #-g -pg 99 TOOL_CLANGCCMACHO_CXXFLAGS.release ?= -O2 100 TOOL_CLANGCCMACHO_CXXINCS ?= 101 TOOL_CLANGCCMACHO_CXXDEFS ?= 102 103 TOOL_CLANGCCMACHO_PCHOBJSUFF ?= .h.gch 104 TOOL_CLANGCCMACHO_PCHFLAGS ?= $(TOOL_CLANGCCMACHO_CXXFLAGS) 105 TOOL_CLANGCCMACHO_PCHFLAGS.debug ?= $(TOOL_CLANGCCMACHO_CXXFLAGS.debug) 106 TOOL_CLANGCCMACHO_PCHFLAGS.profile ?= $(TOOL_CLANGCCMACHO_CXXFLAGS.profile) 107 TOOL_CLANGCCMACHO_PCHFLAGS.release ?= $(TOOL_CLANGCCMACHO_CXXFLAGS.release) 108 TOOL_CLANGCCMACHO_PCHINCS ?= $(TOOL_CLANGCCMACHO_CXXINCS) 109 TOOL_CLANGCCMACHO_PCHDEFS ?= $(TOOL_CLANGCCMACHO_CXXDEFS) 110 111 TOOL_CLANGCCMACHO_OBJCOBJSUFF ?= .o 112 TOOL_CLANGCCMACHO_OBJCFLAGS ?= 113 TOOL_CLANGCCMACHO_OBJCFLAGS.debug ?= -g 114 TOOL_CLANGCCMACHO_OBJCFLAGS.profile?= -O2 #-g -pg 115 TOOL_CLANGCCMACHO_OBJCFLAGS.release?= -O2 116 TOOL_CLANGCCMACHO_OBJCINCS ?= 117 TOOL_CLANGCCMACHO_OBJCDEFS ?= 118 119 TOOL_CLANGCCMACHO_OBJCXXOBJSUFF ?= .o 120 TOOL_CLANGCCMACHO_OBJCXXFLAGS ?= 121 TOOL_CLANGCCMACHO_OBJCXXFLAGS.debug ?= -g 122 TOOL_CLANGCCMACHO_OBJCXXFLAGS.profile ?= -O2 #-g -pg 123 TOOL_CLANGCCMACHO_OBJCXXFLAGS.release ?= -O2 124 TOOL_CLANGCCMACHO_OBJCXXINCS ?= 125 TOOL_CLANGCCMACHO_OBJCXXDEFS ?= 126 127 TOOL_CLANGCCMACHO_ASFLAGS ?= -x assembler-with-cpp 128 TOOL_CLANGCCMACHO_ASFLAGS.debug ?= -g 129 TOOL_CLANGCCMACHO_ASFLAGS.profile ?= -g 130 TOOL_CLANGCCMACHO_ASOBJSUFF ?= .o 131 132 TOOL_CLANGCCMACHO_ARFLAGS ?= -c -rs 133 TOOL_CLANGCCMACHO_ARLIBSUFF ?= .a 134 135 TOOL_CLANGCCMACHO_LDFLAGS ?= 136 TOOL_CLANGCCMACHO_LDFLAGS.debug ?= -g 137 TOOL_CLANGCCMACHO_LDFLAGS.profile ?= -g 138 138 139 139 … … 143 143 # @param 1 The whole output filename. 144 144 # @param 2 The output filename sans suffix. 145 TOOL_CLANG XXMACHO_DEBUG_BUNDLE_FN = \145 TOOL_CLANGCCMACHO_DEBUG_BUNDLE_FN = \ 146 146 $(1).dSYM/Contents/Info.plist \ 147 147 $(1).dSYM/Contents/Resources/DWARF/$(notdir $(1)) … … 155 155 # does not care and only check for a symbol file in the DWARF 156 156 # directory with the same name as the debugged module. 157 TOOL_CLANG XXMACHO_DEBUG_INSTALL_FN= \157 TOOL_CLANGCCMACHO_DEBUG_INSTALL_FN= \ 158 158 $(3).dSYM/ \ 159 159 $(3).dSYM/Contents/ \ … … 177 177 # @param $(outbase) Output basename (full). Use this for list files and such. 178 178 # @param $(objsuff) Object suffix. 179 TOOL_CLANG XXMACHO_COMPILE_C_DEPEND =180 TOOL_CLANG XXMACHO_COMPILE_C_DEPORD =181 TOOL_CLANG XXMACHO_COMPILE_C_OUTPUT = $(if-expr "$(use_objcache)" != "",$(outbase).i,)182 TOOL_CLANG XXMACHO_COMPILE_C_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,)183 define TOOL_CLANG XXMACHO_COMPILE_C_CMDS179 TOOL_CLANGCCMACHO_COMPILE_C_DEPEND = 180 TOOL_CLANGCCMACHO_COMPILE_C_DEPORD = 181 TOOL_CLANGCCMACHO_COMPILE_C_OUTPUT = $(if-expr "$(use_objcache)" != "",$(outbase).i,) 182 TOOL_CLANGCCMACHO_COMPILE_C_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,) 183 define TOOL_CLANGCCMACHO_COMPILE_C_CMDS 184 184 if "$(use_objcache)" != "" 185 185 $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ 186 186 --kObjCache-cpp $(outbase).i\ 187 $(TOOL_CLANG XXMACHO_CC) -E -o -\187 $(TOOL_CLANGCCMACHO_CC) -E -o -\ 188 188 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 189 189 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ 190 190 $(abspath $(source))\ 191 191 --kObjCache-cc $(obj)\ 192 $(TOOL_CLANG XXMACHO_CC) -c\192 $(TOOL_CLANGCCMACHO_CC) -c\ 193 193 $(flags) -fpreprocessed -x c\ 194 194 -o $(obj)\ 195 195 - 196 196 else 197 $(QUIET)$(TOOL_CLANG XXMACHO_CC) -c\197 $(QUIET)$(TOOL_CLANGCCMACHO_CC) -c\ 198 198 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 199 199 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 217 217 # @param $(outbase) Output basename (full). Use this for list files and such. 218 218 # @param $(objsuff) Object suffix. 219 TOOL_CLANG XXMACHO_COMPILE_CXX_OUTPUT = $(if-expr "$(use_objcache)" != "",$(outbase).ii,)220 TOOL_CLANG XXMACHO_COMPILE_CXX_DEPEND = $($(target)_1_GCC_PCH_FILE)221 TOOL_CLANG XXMACHO_COMPILE_CXX_DEPORD =222 TOOL_CLANG XXMACHO_COMPILE_CXX_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,)223 define TOOL_CLANG XXMACHO_COMPILE_CXX_CMDS219 TOOL_CLANGCCMACHO_COMPILE_CXX_OUTPUT = $(if-expr "$(use_objcache)" != "",$(outbase).ii,) 220 TOOL_CLANGCCMACHO_COMPILE_CXX_DEPEND = $($(target)_1_GCC_PCH_FILE) 221 TOOL_CLANGCCMACHO_COMPILE_CXX_DEPORD = 222 TOOL_CLANGCCMACHO_COMPILE_CXX_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,) 223 define TOOL_CLANGCCMACHO_COMPILE_CXX_CMDS 224 224 if "$(use_objcache)" != "" 225 225 $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ 226 226 --kObjCache-cpp $(outbase).ii\ 227 $(TOOL_CLANG XXMACHO_CXX) -E -o - $(if-expr defined($(target)_PCH_HDR)\227 $(TOOL_CLANGCCMACHO_CXX) -E -o - $(if-expr defined($(target)_PCH_HDR)\ 228 228 ,-fpch-preprocess -Winvalid-pch -I$($(target)_1_GCC_PCH_DIR) -include $(basename $($(target)_1_GCC_PCH_FILE)),)\ 229 229 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ … … 231 231 $(abspath $(source))\ 232 232 --kObjCache-cc $(obj)\ 233 $(TOOL_CLANG XXMACHO_CXX) -c\233 $(TOOL_CLANGCCMACHO_CXX) -c\ 234 234 $(flags) -fpreprocessed $(if-expr defined($(target)_PCH_HDR),-fpch-preprocess,) -x c++\ 235 235 -o $(obj)\ 236 236 - 237 237 else 238 $(QUIET)$(TOOL_CLANG XXMACHO_CXX) -c\238 $(QUIET)$(TOOL_CLANGCCMACHO_CXX) -c\ 239 239 $(flags) $(addprefix -I, $($(target)_1_GCC_PCH_DIR) $(incs)) $(addprefix -D, $(defs))\ 240 240 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 259 259 # @param $(outbase) Output basename (full). Use this for list files and such. 260 260 # @param $(objsuff) Object suffix. 261 TOOL_CLANG XXMACHO_COMPILE_PCH_OUTPUT = $($(target)_1_GCC_PCH_FILE)262 TOOL_CLANG XXMACHO_COMPILE_PCH_DEPEND =263 TOOL_CLANG XXMACHO_COMPILE_PCH_DEPORD = $($(target)_1_GCC_PCH_DIR)264 define TOOL_CLANG XXMACHO_COMPILE_PCH_CMDS265 $(QUIET)$(TOOL_CLANG XXMACHO_PCH) -c\261 TOOL_CLANGCCMACHO_COMPILE_PCH_OUTPUT = $($(target)_1_GCC_PCH_FILE) 262 TOOL_CLANGCCMACHO_COMPILE_PCH_DEPEND = 263 TOOL_CLANGCCMACHO_COMPILE_PCH_DEPORD = $($(target)_1_GCC_PCH_DIR) 264 define TOOL_CLANGCCMACHO_COMPILE_PCH_CMDS 265 $(QUIET)$(TOOL_CLANGCCMACHO_PCH) -c\ 266 266 $(flags) $(addprefix -I, $($(target)_1_GCC_PCH_DIR) $(incs)) $(addprefix -D, $(defs))\ 267 267 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 285 285 # @param $(outbase) Output basename (full). Use this for list files and such. 286 286 # @param $(objsuff) Object suffix. 287 TOOL_CLANG XXMACHO_COMPILE_OBJC_DEPEND =288 TOOL_CLANG XXMACHO_COMPILE_OBJC_DEPORD =287 TOOL_CLANGCCMACHO_COMPILE_OBJC_DEPEND = 288 TOOL_CLANGCCMACHO_COMPILE_OBJC_DEPORD = 289 289 ifdef KBUILD_USE_KOBJCACHE 290 TOOL_CLANG XXMACHO_COMPILE_OBJC_USES_KOBJCACHE = 1291 TOOL_CLANG XXMACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi292 define TOOL_CLANG XXMACHO_COMPILE_OBJC_CMDS290 TOOL_CLANGCCMACHO_COMPILE_OBJC_USES_KOBJCACHE = 1 291 TOOL_CLANGCCMACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi 292 define TOOL_CLANGCCMACHO_COMPILE_OBJC_CMDS 293 293 $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ 294 294 --kObjCache-cpp $(outbase).ii\ 295 $(TOOL_CLANG XXMACHO_OBJC) -E -o -\295 $(TOOL_CLANGCCMACHO_OBJC) -E -o -\ 296 296 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 297 297 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ 298 298 $(abspath $(source))\ 299 299 --kObjCache-cc $(obj)\ 300 $(TOOL_CLANG XXMACHO_OBJC) -c\300 $(TOOL_CLANGCCMACHO_OBJC) -c\ 301 301 $(flags) -fpreprocessed -x objective-c \ 302 302 -o $(obj)\ … … 305 305 endef 306 306 else # !KBUILD_USE_KOBJCACHE 307 TOOL_CLANG XXMACHO_COMPILE_OBJC_OUTPUT =308 define TOOL_CLANG XXMACHO_COMPILE_OBJC_CMDS309 $(QUIET)$(TOOL_CLANG XXMACHO_OBJC) -c\307 TOOL_CLANGCCMACHO_COMPILE_OBJC_OUTPUT = 308 define TOOL_CLANGCCMACHO_COMPILE_OBJC_CMDS 309 $(QUIET)$(TOOL_CLANGCCMACHO_OBJC) -c\ 310 310 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 311 311 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 329 329 # @param $(outbase) Output basename (full). Use this for list files and such. 330 330 # @param $(objsuff) Object suffix. 331 TOOL_CLANG XXMACHO_COMPILE_OBJCXX_DEPEND =332 TOOL_CLANG XXMACHO_COMPILE_OBJCXX_DEPORD =331 TOOL_CLANGCCMACHO_COMPILE_OBJCXX_DEPEND = 332 TOOL_CLANGCCMACHO_COMPILE_OBJCXX_DEPORD = 333 333 ifdef KBUILD_USE_KOBJCACHE 334 TOOL_CLANG XXMACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1335 TOOL_CLANG XXMACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii336 define TOOL_CLANG XXMACHO_COMPILE_OBJCXX_CMDS334 TOOL_CLANGCCMACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1 335 TOOL_CLANGCCMACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii 336 define TOOL_CLANGCCMACHO_COMPILE_OBJCXX_CMDS 337 337 $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ 338 338 --kObjCache-cpp $(outbase).mii\ 339 $(TOOL_CLANG XXMACHO_OBJCXX) -E -o -\339 $(TOOL_CLANGCCMACHO_OBJCXX) -E -o -\ 340 340 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 341 341 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ 342 342 $(abspath $(source))\ 343 343 --kObjCache-cc $(obj)\ 344 $(TOOL_CLANG XXMACHO_OBJCXX) -c\344 $(TOOL_CLANGCCMACHO_OBJCXX) -c\ 345 345 $(flags) -fpreprocessed -x objective-c++ \ 346 346 -o $(obj)\ … … 349 349 endef 350 350 else # !KBUILD_USE_KOBJCACHE 351 TOOL_CLANG XXMACHO_COMPILE_OBJCXX_OUTPUT =352 define TOOL_CLANG XXMACHO_COMPILE_OBJCXX_CMDS353 $(QUIET)$(TOOL_CLANG XXMACHO_OBJCXX) -c\351 TOOL_CLANGCCMACHO_COMPILE_OBJCXX_OUTPUT = 352 define TOOL_CLANGCCMACHO_COMPILE_OBJCXX_CMDS 353 $(QUIET)$(TOOL_CLANGCCMACHO_OBJCXX) -c\ 354 354 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 355 355 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 374 374 # @param $(objsuff) Object suffix. 375 375 # 376 TOOL_CLANG XXMACHO_COMPILE_AS_OUTPUT =377 TOOL_CLANG XXMACHO_COMPILE_AS_DEPEND =378 TOOL_CLANG XXMACHO_COMPILE_AS_DEPORD =379 define TOOL_CLANG XXMACHO_COMPILE_AS_CMDS380 $(QUIET)$(TOOL_CLANG XXMACHO_AS) -c\376 TOOL_CLANGCCMACHO_COMPILE_AS_OUTPUT = 377 TOOL_CLANGCCMACHO_COMPILE_AS_DEPEND = 378 TOOL_CLANGCCMACHO_COMPILE_AS_DEPORD = 379 define TOOL_CLANGCCMACHO_COMPILE_AS_CMDS 380 $(QUIET)$(TOOL_CLANGCCMACHO_AS) -c\ 381 381 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 382 382 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 396 396 # @param $(othersrc) Unhandled sources. 397 397 # @param $(outbase) Output basename (full). Use this for list files and such. 398 TOOL_CLANG XXMACHO_LINK_LIBRARY_OUTPUT =399 TOOL_CLANG XXMACHO_LINK_LIBRARY_DEPEND = $(othersrc)400 TOOL_CLANG XXMACHO_LINK_LIBRARY_DEPORD =401 define TOOL_CLANG XXMACHO_LINK_LIBRARY_CMDS402 $(if $(strip $(filter-out %.h.gch,$(objs))),$(call xargs,$(QUIET)$(TOOL_CLANG XXMACHO_AR) $(flags) $(out),$(filter-out %.h.gch,$(objs))))398 TOOL_CLANGCCMACHO_LINK_LIBRARY_OUTPUT = 399 TOOL_CLANGCCMACHO_LINK_LIBRARY_DEPEND = $(othersrc) 400 TOOL_CLANGCCMACHO_LINK_LIBRARY_DEPORD = 401 define TOOL_CLANGCCMACHO_LINK_LIBRARY_CMDS 402 $(if $(strip $(filter-out %.h.gch,$(objs))),$(call xargs,$(QUIET)$(TOOL_CLANGCCMACHO_AR) $(flags) $(out),$(filter-out %.h.gch,$(objs)))) 403 403 $(foreach lib,$(othersrc)\ 404 404 ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ … … 406 406 $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ 407 407 $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ 408 && $(TOOL_CLANG XXMACHO_AR) -x $(abspath $(lib)) \408 && $(TOOL_CLANGCCMACHO_AR) -x $(abspath $(lib)) \ 409 409 && $(RM_EXT) -f ./__.SYMDEF* \ 410 && $(TOOL_CLANG XXMACHO_AR) $(flags) $(out) *) \410 && $(TOOL_CLANGCCMACHO_AR) $(flags) $(out) *) \ 411 411 $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ 412 412 $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) … … 427 427 # @param $(custom_post) Custom step invoked after linking. 428 428 # @param $(outbase) Output basename (full). Use this for list files and such. 429 TOOL_CLANG XXMACHO_LINK_PROGRAM_OUTPUT= $(outbase).rsp430 TOOL_CLANG XXMACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out))431 TOOL_CLANG XXMACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN)432 TOOL_CLANG XXMACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))433 TOOL_CLANG XXMACHO_LINK_PROGRAM_DEPORD =434 define TOOL_CLANG XXMACHO_LINK_PROGRAM_CMDS429 TOOL_CLANGCCMACHO_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 430 TOOL_CLANGCCMACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_CLANGCCMACHO_DEBUG_BUNDLE_FN,$(out)) 431 TOOL_CLANGCCMACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_CLANGCCMACHO_DEBUG_INSTALL_FN) 432 TOOL_CLANGCCMACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 433 TOOL_CLANGCCMACHO_LINK_PROGRAM_DEPORD = 434 define TOOL_CLANGCCMACHO_LINK_PROGRAM_CMDS 435 435 $(QUIET)$(APPEND) -n $(outbase).rsp $(filter-out %.h.gch,$(objs)) 436 $(QUIET)$(TOOL_CLANG XXMACHO_LD) $(flags) -o $(out)\436 $(QUIET)$(TOOL_CLANGCCMACHO_LD) $(flags) -o $(out)\ 437 437 -filelist $(outbase).rsp\ 438 438 $(foreach p,$(libpath), -L$(p))\ 439 439 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) 440 440 ifeq ($(ld_debug),split) 441 $(QUIET)$(TOOL_CLANG XXMACHO_DSYMUTIL) -o $(out).dSYM/ $(out)442 $(QUIET)$(TOOL_CLANG XXMACHO_STRIP_PROGRAM) $(out)441 $(QUIET)$(TOOL_CLANGCCMACHO_DSYMUTIL) -o $(out).dSYM/ $(out) 442 $(QUIET)$(TOOL_CLANGCCMACHO_STRIP_PROGRAM) $(out) 443 443 endif 444 444 endef … … 458 458 # @param $(custom_post) Custom step invoked after linking. 459 459 # @param $(outbase) Output basename (full). Use this for list files and such. 460 TOOL_CLANG XXMACHO_LINK_DLL_OUTPUT= $(outbase).rsp461 TOOL_CLANG XXMACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out))462 TOOL_CLANG XXMACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN)463 TOOL_CLANG XXMACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))464 TOOL_CLANG XXMACHO_LINK_DLL_DEPORD =465 define TOOL_CLANG XXMACHO_LINK_DLL_CMDS460 TOOL_CLANGCCMACHO_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 461 TOOL_CLANGCCMACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_CLANGCCMACHO_DEBUG_BUNDLE_FN,$(out)) 462 TOOL_CLANGCCMACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_CLANGCCMACHO_DEBUG_INSTALL_FN) 463 TOOL_CLANGCCMACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 464 TOOL_CLANGCCMACHO_LINK_DLL_DEPORD = 465 define TOOL_CLANGCCMACHO_LINK_DLL_CMDS 466 466 $(QUIET)$(APPEND) -n $(outbase).rsp $(filter-out %.h.gch,$(objs)) 467 $(QUIET)$(TOOL_CLANG XXMACHO_LD) $(TOOL_CLANGXXMACHO_LDFLAGS.dll) $(flags) -o $(out)\468 $(call TOOL_CLANG XXMACHO_LD_SONAME,$(target),$(out))\467 $(QUIET)$(TOOL_CLANGCCMACHO_LD) $(TOOL_CLANGCCMACHO_LDFLAGS.dll) $(flags) -o $(out)\ 468 $(call TOOL_CLANGCCMACHO_LD_SONAME,$(target),$(out))\ 469 469 -filelist $(outbase).rsp\ 470 470 $(foreach p,$(libpath), -L$(p))\ 471 471 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) 472 472 ifeq ($(ld_debug),split) 473 $(QUIET)$(TOOL_CLANG XXMACHO_DSYMUTIL) -o $(out).dSYM/ $(out)474 $(QUIET)$(TOOL_CLANG XXMACHO_STRIP_DLL) $(out)473 $(QUIET)$(TOOL_CLANGCCMACHO_DSYMUTIL) -o $(out).dSYM/ $(out) 474 $(QUIET)$(TOOL_CLANGCCMACHO_STRIP_DLL) $(out) 475 475 endif 476 476 endef … … 490 490 # @param $(custom_post) Custom step invoked after linking. 491 491 # @param $(outbase) Output basename (full). Use this for list files and such. 492 TOOL_CLANG XXMACHO_LINK_SYSMOD_OUTPUT= $(outbase).rsp493 TOOL_CLANG XXMACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out))494 TOOL_CLANG XXMACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN)495 TOOL_CLANG XXMACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))496 TOOL_CLANG XXMACHO_LINK_SYSMOD_DEPORD =497 define TOOL_CLANG XXMACHO_LINK_SYSMOD_CMDS492 TOOL_CLANGCCMACHO_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 493 TOOL_CLANGCCMACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_CLANGCCMACHO_DEBUG_BUNDLE_FN,$(out)) 494 TOOL_CLANGCCMACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_CLANGCCMACHO_DEBUG_INSTALL_FN) 495 TOOL_CLANGCCMACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 496 TOOL_CLANGCCMACHO_LINK_SYSMOD_DEPORD = 497 define TOOL_CLANGCCMACHO_LINK_SYSMOD_CMDS 498 498 $(QUIET)$(APPEND) -n $(outbase).rsp $(filter-out %.h.gch,$(objs)) 499 $(QUIET)$(TOOL_CLANG XXMACHO_LD_SYSMOD) $(TOOL_CLANGXXMACHO_LDFLAGS.sysmod) $(flags) -o $(out)\499 $(QUIET)$(TOOL_CLANGCCMACHO_LD_SYSMOD) $(TOOL_CLANGCCMACHO_LDFLAGS.sysmod) $(flags) -o $(out)\ 500 500 -filelist $(outbase).rsp\ 501 501 $(foreach p,$(libpath), -L$(p))\ 502 502 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) 503 503 ifeq ($(ld_debug),split) 504 $(QUIET)$(TOOL_CLANG XXMACHO_DSYMUTIL) -o $(out).dSYM/ $(out)505 $(QUIET)$(TOOL_CLANG XXMACHO_STRIP_SYSMOD) $(out)504 $(QUIET)$(TOOL_CLANGCCMACHO_DSYMUTIL) -o $(out).dSYM/ $(out) 505 $(QUIET)$(TOOL_CLANGCCMACHO_STRIP_SYSMOD) $(out) 506 506 endif 507 507 endef -
trunk/kBuild/tools/CLANGXXMACHO.kmk
r3401 r3403 1 1 # $Id$ 2 2 ## @file 3 # kBuild Tool Config - LLVM GCC v4.2.xtargeting Darwin (Mac OS X) Mach-O, for building C++ code.4 # 5 6 # 7 # Copyright (c) 2004-20 17knut st. osmundsen <bird-kBuild-spam-xviiv@anduin.net>3 # kBuild Tool Config - LLVM Clang targeting Darwin (Mac OS X) Mach-O, for building C++ code. 4 # 5 6 # 7 # Copyright (c) 2004-2020 knut st. osmundsen <bird-kBuild-spam-xviiv@anduin.net> 8 8 # 9 9 # This file is part of kBuild. … … 427 427 # @param $(custom_post) Custom step invoked after linking. 428 428 # @param $(outbase) Output basename (full). Use this for list files and such. 429 TOOL_CLANGXXMACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp429 TOOL_CLANGXXMACHO_LINK_PROGRAM_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 430 430 TOOL_CLANGXXMACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out)) 431 431 TOOL_CLANGXXMACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN) … … 458 458 # @param $(custom_post) Custom step invoked after linking. 459 459 # @param $(outbase) Output basename (full). Use this for list files and such. 460 TOOL_CLANGXXMACHO_LINK_DLL_OUTPUT = $(outbase).rsp460 TOOL_CLANGXXMACHO_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 461 461 TOOL_CLANGXXMACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out)) 462 462 TOOL_CLANGXXMACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN) … … 490 490 # @param $(custom_post) Custom step invoked after linking. 491 491 # @param $(outbase) Output basename (full). Use this for list files and such. 492 TOOL_CLANGXXMACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp492 TOOL_CLANGXXMACHO_LINK_SYSMOD_OUTPUT_MAYBE_PRECIOUS = $(outbase).rsp 493 493 TOOL_CLANGXXMACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_CLANGXXMACHO_DEBUG_BUNDLE_FN,$(out)) 494 494 TOOL_CLANGXXMACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_CLANGXXMACHO_DEBUG_INSTALL_FN)
Note:
See TracChangeset
for help on using the changeset viewer.